vb吐槽班03 小伙伴们把我给惊呆了

诶,好的好的,今天依旧是由我给大家带来的大型情感类、娱乐类、外加一点点技术类的vb吐槽班。这次是没过多长时间,上次也是写了预告,说是要接着讲剩下的窗体啥的,作为一个娱乐型的编程人员,基本上也就能说说简单的一点代码,而且还都是百度的。。。

咳咳。。。写了两篇了,我这也是发现了个问题。就是写一篇吐槽班要好长时间,完了写好了还得改,打开一遍草稿改一次,打开一遍草稿改一次,再打开再改。反正每次写完了都是同一种感觉:这你妹饿死我了。。。

废话还是少说得好,直接进入正题吧。

首先,当我们打开这个系统的时候,看到的就是这个小小的登陆界面,小伙伴你好~

重点是代码部分,本来我看到的时候还吓了一跳,靠!这么少?查完了一些不懂得之后才知道,这原来就是传说中的经典登录窗体

Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String,nSize As Long) As Long
Public OK As Boolean   '判断是否用户名密码正确,是否登录成功
Dim miCount As Integer '记录登录次数

Private Sub Form_Load()
    Dim sBuffer As String
    Dim lSize As Long
    
    sBuffer = Space$(255)   '给sBuffer预留255字节的空间,是起缓冲的作用
    lSize = Len(sBuffer)    'sBuffer串的长度
    
    Call GetUserName(sBuffer,lSize)    '读取用户名到sBuffer中
    '这里是判断是否存在上次输入的用户名
    '如果用户名大于0个字符,设置用户名为空,否则为空字符串
    If lSize > 0 Then
        txtUserName.Text = ""
    Else
        txtUserName = vbNullString
    End If
    
    OK = False
    miCount = 0
    
End Sub
简单说一下,这个就是加载窗体时,利用API函数读取输入的用户名信息,并且判断是否登录成功。当你点了确定按钮之后,将会执行下面的代码

Private Sub cmdOK_Click()
    Dim txtsql As String
    Dim mrc As ADODB.Recordset
    Dim Msgtext As String
   
    UserName = ""   '用户名初始为空
    
    '如果用户名为空时警告
    If Trim(txtUserName.Text = "") Then
        MsgBox "用户名不能为空,请重新输入",vbOKOnly + vbExclamation,"警告"
        txtUserName.SetFocus
    Else
        txtsql = "SELECT * FROM user_info WHERE user_ID ='" & txtUserName.Text & "'"    '在user_info中查询user_ID是输入的用户名
        Set mrc = Executesql(txtsql,Msgtext)
        '检查用户名是否存在
        If mrc.EOF Then
            MsgBox "没有这个用户,请重新输入","警告"
            txtUserName.SetFocus
        Else
            If Trim(mrc.Fields(1)) = Trim(txtPassWord.Text) Then    '密码正确时,进行登录
                OK = True
                mrc.Close
                Me.Hide
                UserName = Trim(txtUserName.Text)
            Else
                MsgBox "输入密码不正确,请重新输入","警告"
                txtPassWord.SetFocus
                txtPassWord.Text = ""
            End If
        End If
    End If
    
    miCount = miCount + 1
    '登陆次数超过三次,窗体隐藏
    If miCount = 3 Then
        Me.Hide
    End If
End Sub
先检查输入的信息是否为空,如果不为空,将执行我们上次定义的Executesql函数。然后用select语句查找符合的字段,如果为空,则不存在此用户。如果不为空,检查密码是否一致,一直则登录成功,显示主界面。

主界面没啥难的,只是通过菜单进入不同的MDI子窗体。

具体添加查询修改啥的还没想好怎么写,下次继续。

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...