诶,好的好的,今天依旧是由我给大家带来的大型情感类、娱乐类、外加一点点技术类的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 "没有这个用户,请重新输入", vbOKOnly + vbExclamation, "警告"
txtUserName.SetFocus
Else
If Trim(mrc.Fields(1)) = Trim(txtPassWord.Text) Then '密码正确时,进行登录
OK = True
mrc.Close
Me.Hide
UserName = Trim(txtUserName.Text)
Else
MsgBox "输入密码不正确,请重新输入", vbOKOnly + vbExclamation, "警告"
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子窗体。
具体添加查询修改啥的还没想好怎么写,下次继续。