VB数据库连接之一直接建立连接

1.引用Microsoft ActiveX Data Objects 2.5 Library

2.窗体实现 文本框名称分别为:txtUserName txtPassWord

按钮名称分别为: cmdOK cmdCancel

.

3.代码实现

(1).用户名和口令的验证方法Check_PassWord()实现

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 & "\实例01.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:
'验证无法正常完成,返回错误代码
Check_PassWord = 255
Set objRs = nothing
Set objCn = nothing
End Function

(2).确定按钮实现

Private Sub cmdOK_Click()
Static intLogTimes As Integer
Dim intChecked As Integer,strName As String,_

strPassword As String
intLogTimes = intLogTimes + 1
If intLogTimes > MaxLogTimes Then
'超过允许的登录次数显示提示信息
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 "口令错误,请重新输入","登录验证"
txtPassWord.Text = ""
txtPassWord.SetFocus
Case 2 '口令正确
Unload Me
MsgBox "登录成功,将启动系统程序!",vbinformation,"登录验证"
'通常在此放置显示系统主窗体的语句,例如
'frmMain.show
Case Else '登录验证无法正常完成
MsgBox "登录验证未正常完成!请重新运行登录程序,_

" & vbCrLf & "如果仍不能登录,请报告系统管理员!","登录验证"
End Select
End If
End Sub

(3).取消按钮实现

Private Sub cmdCancel_Click() Dim intResult As Integer '请求用户确认是否真的退出系统登录 intResult = MsgBox("您选择了退出系统登录退出将不能启动管理系统!" & _ vbCr & "是否真的退出?",vbYesNo,"登录验证") If intResult = vbYes Then End End Sub

相关文章

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...