刚接触vb连接数据库,自己想先敲几个实例找感觉。以下是我敲的第一个实例:系统登录对话框。这个系统登录对话框要完成创建数据库、设计窗体、建立ADO引用、功能代码等几个步骤。
1、创建数据库:我使用的是vb中自带的可视化数据管理器来创建数据库(具体做法就不说了),建立的数据库如下:
2、设计窗体:
3、建立ADO引用:工程--引用--选择ADO对象库
4、代码(最重要的步骤)
①取消按钮:单击取消按钮时候询问用户是否真的退出登录,单击是则退出,否则继续登录操作。
具体实现:
Dim IntResult As Integer
'请用户确定是否真的退出系统登录
IntResult = MsgBox("您选择了退出系统登录,退出将不能启动管理系统!"& vbCrLf & "是否真的退出?", vbYesNo, "登录验证")
If IntResult = vbYes Then
End
End If②建立一个过程用于连接数据库,判断用户名和口令的正确性,并且标记给一个变量,用于在单击确定按钮进行判断并进行相应的操作。
具体实现:
Private Function Check_PassWord(ByVal UserName As String, ByVal PassWord As String) As Byte
On Error GoTo gperror
Dim objCn As New Connection, objRs As New Recordset, StrCn As String
Dim StrSQL As String
'建立数据库连接
objCn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51;" & _
"Data Source=" & App.Path & "/实例1.mdb"
objCn.Open
'执行查询命令,获得用户登录口令
StrSQL = "SELECT 口令 FROM 系统用户 WHERE 用户名='" & UserName & "'"
Set objRs.ActiveConnection = objCn
objRs.Open (StrSQL)
'判断有无查询结果
If objRs.EOF Then
Check_PassWord = 0
Else
'检查口令是否正确
If PassWord <> Trim(objRs.Fields("口令").Value) Then
Check_PassWord = 1
Else
Check_PassWord = 2
End If
End If
'关闭数据库连接,释放对象
objCn.Close
Set objRs = Nothing
Set objCn = Nothing
Exit Function
gperror:
MsgBox Err.Description
Check_PassWord = 255
Set objRs = Nothing
Set objCn = Nothing
End Function③确定按钮:验证用户名和口令。在这里进行了判断,看是不是本次超出了允许的范围,超出则退出登录;没有则进步一判断用户名和口令的正确性,符合则消息框提示登录成功,否则提示登录失败等或没有连接成功数据库等错误
具体实现:
Static IntLogTimes As Integer
Dim Intchecked As Integer, StrName As String, StrPassWord As String
IntLogTimes = IntLogTimes + 1
If IntLogTimes > MaxLogTimes Then ’设置MaxLongTimes为通用变量为验证登录信息的最多次数
MsgBox "您已经吵过允许验证次数!" & vbCr _
& "应用程序将结束!", vbCritical, "登录验证"
End
Else
StrName = Trim(TxtUserName.Text)
StrPassWord = Trim(TxtPassWord.Text)
'检验用户名和口令的合法性,并根据检验返回值执行相应的操作
Select Case Check_PassWord(StrName, StrPassWord)
Case 0
MsgBox "<" & StrName & _
"> 不是系统用户,请检查用户名输入是否正确!", vbCritical, "登录验证"
TxtUserName.SetFocus
TxtUserName.SelStart = 0
TxtUserName.SelLength = Len(TxtUserName)
Case 1
MsgBox "口令错误!,请重新输入!", vbCritical, "登录验证"
TxtPassWord = ""
TxtPassWord.SetFocus
Case 2
Unload Me
MsgBox "登录成功,将启动系统程序!", vbInformation, "登录验证"
Case Else
MsgBox "登录验证未正常完成!请重新运行登录程序," & vbCrLf _
& "如果仍不能登录,请报告系统管理员!", vbCritical, "登录验证"
End Select
End If