教我用vb输入帐号密码连接数据库!
我要做一个程序,需要输入帐号密码连接数据库如查找中考成绩输入密码,帐号后连接到数据库,显示结果我希望大侠们能给我方法与程序指令!!好的话我会加分!!感激不尽!!...
我要做一个程序,需要输入帐号密码连接数据库
如查找中考成绩
输入密码,帐号后
连接到数据库,显示结果
我希望大侠们能给我方法与程序指令!!
好的话我会加分!!
感激不尽!! 展开
如查找中考成绩
输入密码,帐号后
连接到数据库,显示结果
我希望大侠们能给我方法与程序指令!!
好的话我会加分!!
感激不尽!! 展开
展开全部
这是我做的登陆窗体代码,你参考一下:
Option Explicit
'定义保存用户身份信息的模块级变量
Public strstatus As String
'定义允许用户验证登录信息的最大次数
Const MaxLogTimes As Integer = 3
Private Sub Command2_Click()
'变量intMsgReturn用于保存消息框的返回值
Dim intMsgReturn As Integer
'显示确认消息框,并获得返回值
intMsgReturn = MsgBox("你选择了取消登录,取消登录将结束应用程序!" _
& vbCrLf & "是否继续?", vbYesNo, "登录验证")
'根据用户选择判断是否,并结束应用程序
If intMsgReturn = vbYes Then
Unload Me '卸载登录窗体
End '结束应用程序
End If
End Sub
Private Sub Command1_Click()
Dim intChecked As Integer
Dim strName As String, strPassword As String
'静态常量intLogTimes用于保存用户请求验证的次数
Static intLogTimes As Integer
intLogTimes = intLogTimes + 1 '保存登录次数
If intLogTimes > MaxLogTimes Then
'超过允许的登录次数,显示提示信息
MsgBox "你已经超过允许的登录验证次数!" & vbCr _
& "应用程序将结束!", vbCritical, "登录验证"
End '结束应用程序
Else
'进一步验证登录信息的合法性
strName = Trim(Text1.Text) '获得用户名
strPassword = Trim(Text2.Text) '获得口令
'检验用户名和口令的合法性,并根据检验返回值执行相应的操作
Select Case Check_PassWord(strName, strPassword)
Case 0
'用户不是系统用户
MsgBox "用户不是系统用户,请检查用户名输入是否正确!", _
vbCritical, "登录验证"
Text1.SetFocus
Text1.SelStart = 0
Text1.SelLength = Len(Text1)
Case 1
'口令错误
MsgBox "口令错误,请重新输入!", vbCritical, "登录验证"
Text2 = ""
Text2.SetFocus
Case 2
'口令正确
Unload Me '卸载登录窗体
MsgBox "登录成功,将启动系统程序!", vbInformation, "登录验证"
'--------------------------------------------------------------
'这里添加的代码以显示系统主窗体
MDIForm1.Show
'--------------------------------------------------------------
Case Else
'登录验证未正常完成
MsgBox "登录验证未正常完成!请重新运行登录程序," & vbCrLf _
& "如果仍不能登录,请报告系统管理员!", _
vbCritical, "登录验证"
End Select
End If
End Sub
Private Function Check_PassWord(ByVal UserName As String, _
ByVal Password As String) As Byte
On Error GoTo gpError
'查询数据库,获得UserName的登录口令
Dim objCn As New Connection
Dim objRs As New Recordset
Dim strCn As String, strSQL As String
'----------------------------------------------------------------
'这里被修改,查询数据库“实例6库”,并返回“口令”和“身份”字段
With objCn
.Provider = "SQLOLEDB"
.ConnectionString = "User ID=sa;PWD=;" & _
"Data Source=(local);" & _
"Initial Catalog=db"
.Open
End With
'执行查询命令,获得用户登录口令
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 '口令正确
'--------------------------------------------------------
'添加的语句用于保存身份信息
strstatus = objRs.Fields("权限").Value
'--------------------------------------------------------
End If
End If
'关闭数据库连接,释放对象
objCn.Close
Set objRs = Nothing
Set objCn = Nothing
Exit Function
gpError:
Check_PassWord = 255
End Function
Private Sub txtLog_Change(Index As Integer)
'检查如果用户名和口令如果有一个为空白,则不能使用确定按钮
Dim strName As String, strPassword As String
strName = Trim(Text1.Text)
strPassword = Trim(Text2.Text)
If strName = "" Or strPassword = "" Then
Command1.Enabled = False '禁用按钮
Else
Command1.Enabled = True '启用按钮
End If
End Sub
Private Sub Command1_KeyPress(KeyAscii As Integer)
'keyascii只能在keypress事件中的 , 应该在一个对象的keypress事件中使用keyascii
If KeyAscii = 13 Then
'要完成的动作
Command1.Value = True
End If
End Sub
Option Explicit
'定义保存用户身份信息的模块级变量
Public strstatus As String
'定义允许用户验证登录信息的最大次数
Const MaxLogTimes As Integer = 3
Private Sub Command2_Click()
'变量intMsgReturn用于保存消息框的返回值
Dim intMsgReturn As Integer
'显示确认消息框,并获得返回值
intMsgReturn = MsgBox("你选择了取消登录,取消登录将结束应用程序!" _
& vbCrLf & "是否继续?", vbYesNo, "登录验证")
'根据用户选择判断是否,并结束应用程序
If intMsgReturn = vbYes Then
Unload Me '卸载登录窗体
End '结束应用程序
End If
End Sub
Private Sub Command1_Click()
Dim intChecked As Integer
Dim strName As String, strPassword As String
'静态常量intLogTimes用于保存用户请求验证的次数
Static intLogTimes As Integer
intLogTimes = intLogTimes + 1 '保存登录次数
If intLogTimes > MaxLogTimes Then
'超过允许的登录次数,显示提示信息
MsgBox "你已经超过允许的登录验证次数!" & vbCr _
& "应用程序将结束!", vbCritical, "登录验证"
End '结束应用程序
Else
'进一步验证登录信息的合法性
strName = Trim(Text1.Text) '获得用户名
strPassword = Trim(Text2.Text) '获得口令
'检验用户名和口令的合法性,并根据检验返回值执行相应的操作
Select Case Check_PassWord(strName, strPassword)
Case 0
'用户不是系统用户
MsgBox "用户不是系统用户,请检查用户名输入是否正确!", _
vbCritical, "登录验证"
Text1.SetFocus
Text1.SelStart = 0
Text1.SelLength = Len(Text1)
Case 1
'口令错误
MsgBox "口令错误,请重新输入!", vbCritical, "登录验证"
Text2 = ""
Text2.SetFocus
Case 2
'口令正确
Unload Me '卸载登录窗体
MsgBox "登录成功,将启动系统程序!", vbInformation, "登录验证"
'--------------------------------------------------------------
'这里添加的代码以显示系统主窗体
MDIForm1.Show
'--------------------------------------------------------------
Case Else
'登录验证未正常完成
MsgBox "登录验证未正常完成!请重新运行登录程序," & vbCrLf _
& "如果仍不能登录,请报告系统管理员!", _
vbCritical, "登录验证"
End Select
End If
End Sub
Private Function Check_PassWord(ByVal UserName As String, _
ByVal Password As String) As Byte
On Error GoTo gpError
'查询数据库,获得UserName的登录口令
Dim objCn As New Connection
Dim objRs As New Recordset
Dim strCn As String, strSQL As String
'----------------------------------------------------------------
'这里被修改,查询数据库“实例6库”,并返回“口令”和“身份”字段
With objCn
.Provider = "SQLOLEDB"
.ConnectionString = "User ID=sa;PWD=;" & _
"Data Source=(local);" & _
"Initial Catalog=db"
.Open
End With
'执行查询命令,获得用户登录口令
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 '口令正确
'--------------------------------------------------------
'添加的语句用于保存身份信息
strstatus = objRs.Fields("权限").Value
'--------------------------------------------------------
End If
End If
'关闭数据库连接,释放对象
objCn.Close
Set objRs = Nothing
Set objCn = Nothing
Exit Function
gpError:
Check_PassWord = 255
End Function
Private Sub txtLog_Change(Index As Integer)
'检查如果用户名和口令如果有一个为空白,则不能使用确定按钮
Dim strName As String, strPassword As String
strName = Trim(Text1.Text)
strPassword = Trim(Text2.Text)
If strName = "" Or strPassword = "" Then
Command1.Enabled = False '禁用按钮
Else
Command1.Enabled = True '启用按钮
End If
End Sub
Private Sub Command1_KeyPress(KeyAscii As Integer)
'keyascii只能在keypress事件中的 , 应该在一个对象的keypress事件中使用keyascii
If KeyAscii = 13 Then
'要完成的动作
Command1.Value = True
End If
End Sub
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询