ADO Connetion对象代表了打开的、与数据库的连接。
ConnectionString
'建立数据库连接
objCn.ConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & App.Path & "\实例1.mdb;Mode=ReadWrite|Share Deny None;Persist Security Info=False"
Open
Close
ADO Recordset 对象用于保存数据源获得记录集。
ActiveConnection
Eof:测试当前记录位置是否位于记录集的最后一个记录之后。
Fields
ObjRs.Fields(“口令”).Value
Open
objRs.Open(“SETECT 口令 FROM 用户系统 WHERE 用户名=‘admin’”)
1.创建数据库
外接程序/可视化数据管理器
2.建立ADO引用
工程/引用
Microsoft ActiveX Data Objects 2.5 Library
3.代码
const
常数定义,与dim差不多,但const定义的不能修改a的值,dim定义的可以重新赋值
方法一 private const a=5
方法二 dim a
a=5
Conste用来定义常量
格式:Const 常量名 As 类型=表达式
chr(10)、chr(13)和vblf、vbcr、vbcrlf的分别
1、共同点:
chr(10):换行,相当于VBLF
chr(13):回车,相当于VBCR
chr(13)+chr(10):回车+换行,相当于VBCRLF
cr是回车,只有回车,是到本行的最头上;lf是换行,到下一行;crlf是到下一行的最头上
1)、在msgbox中效果一样
Dim a, b, c As String
a = "111" & vbCr & "222"
MsgBox a
MsgBox Len(a)
b = "111" & vbLf & "222"
MsgBox b
MsgBox Len(b)
c = "111" & vbCrLf & "222"
MsgBox c
MsgBox Len(c)
2)、在窗体输出中的效果
Chr(13) 、 Chr(10) 、 Chr(13)+Chr(10) 是换一行;
Chr(10)+Chr(13)、两个Chr(13)、两个Chr(10) 是换两行。
3)、在Text输出中的效果
只有只有chr(10)+chr(13)或者VBCRLF可以换行,其他的没有换行的效果::需要注意,换行的前提是Text控件中属性MultiLine必须为True。
建立数据库连接
objCn.ConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\实例1.mdb;Mode=ReadWrite|Share Deny None;Persist Security Info=False"
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:
Check_PassWord = 255 '验证无法正常完成,返回错误代码
Set objRs = Nothing
Set objCn = Nothing
用于保存用户请求验证次数
Static intLogTimes As Integer
intLogTimes = intLogTimes + 1 '计算登录次数
If intLogTimes > MaxLogTimes Then
MsgBox "你已经超过允许验证次数!" & vbCr _
& "应用程序将结束!", vbCritical, "登陆验证"
End
Else
strName = Trim(txtUserName.Text) '获得输入的用户名
strPassWord = Trim(txtPassWord.Text)
vb 中 vbcritical 是指定在对话框上显示的图标信息类型(用于出错时的情况),就是红色圆圈里面有个叉叉X。
检验用户名和口令的合法性,并根据检验返回值执行相应的操作
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, "登陆验证"
'通常这里放置显示系统窗体的语句,例如
frmMain.Show
Case Else
MsgBox "登陆验证未正常完成!请重新运行登录程序," & vbCrLf _
& "如果仍不能登陆,请报告系统管理员!", vbCritical, "登陆验证"
End Select