如何使用adodc控件验证密码是否正确?
数据库名:Data.mdb
表名:userlist
字段名:user和password
在程序中如何判断我txtpass.text的属性和password的字段相同?
前提是输入的txtuser.text必须包含在user字段里面,如果没有则提示没有该用户?
还有一个问题,就是我在设计access数据库的时候选择独占方式打开数据库,设置密码,在VB中也相应的设置了密码,可是程序运行的时候提示说 该数据库被其他程序以独占方式打开,就结束了。
这个时候我确定已经关闭了Microsoft Office Access 2003 ,并保证没有其他程序打开Data.mdb这个数据库
问题点数:20、回复次数:4Top
1 楼faysky2(出来混,迟早是要还嘀)回复于 2006-03-15 15:52:23 得分 5
'引用ADO("工程"/"引用"/Microsoft ActiveX Data Object 2.X Library)
Private Sub Command1_Click()
On Error GoTo Err
If txtuser.Text = "" Then
MsgBox "请输入操作员!", vbInformation, "提示"
Exit Sub
End If
Dim cn As New ADODB.Connection, rs As New ADODB.Recordset
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Data.mdb;Jet OLEDB:DataBase password=12345;"
rs.CursorLocation = adUseClient
Dim strName As String, strPWD As String
strName = UCase(Trim(txtuser.Text))
strPWD = UCase(Trim(txtpass.Text))
rs.Open "select * from [userlist] where UCase([user])='" & strName & "'", cn, 3, 2
If rs.EOF Then
MsgBox "该用户尚未注册!", vbOKCancel, "提示"
txtuser.SetFocus
txtuser.SelStart = 0
txtuser.SelLength = Len(txtuser.Text)
Exit Sub
Else
If strPWD <> Trim(rs![Password]) Then
MsgBox "密码不正确,请重输!!!", vbQuestion, "提示"
txtpass.Text = ""
txtpass.SetFocus
Exit Sub
End If
MsgBox "通过了验证!"
Exit Sub
Err:
MsgBox Err.Description
End Sub
Top
2 楼tdhao(神风★无爱)回复于 2006-03-25 17:48:54 得分 0
其中的rs!所谓何意?Top
3 楼of123()回复于 2006-03-27 11:13:58 得分 5
rs!fieldname == rs.Fields(fieldname)Top
4 楼a_yin(渡盡劫波兄弟在,相逢一笑泯恩仇!)回复于 2006-04-03 16:43:21 得分 10
Dim UName As Long
Dim str1 As String
Dim User1 As String
Private Sub cmdCancel_Click()
Unload Me
End Sub
Private Sub cmdOK_Click()
Dim StrUser As String
Dim StrPassWord As String
Dim StrYfc As String
Adodc1.Recordset.MoveFirst
StrUser = Adodc1.Recordset("user")
StrPassWord = Adodc1.Recordset("password")
If Me.Text1.Text = "" Then
MsgBox "请输入用户名!", vbOKOnly + 16, "有数据库登陆试验"
Exit Sub
End If
While Not (Adodc1.Recordset.EOF)
If Me.Text1.Text <> StrUser Then
Me.Adodc1.Recordset.MoveNext
If Adodc1.Recordset.EOF Then
MsgBox "当前户名不存在或密码错误!", vbOKOnly + 16, "有数据库登陆试验"
Me.Text1.Text = ""
Me.Text2.Text = ""
Exit Sub
End If
StrUser = Adodc1.Recordset("user")
StrPassWord = Adodc1.Recordset("password")
Else
'Me.Label3.Caption = StrUser
If Me.Text2.Text <> StrPassWord Then
MsgBox "用户名或密码错误!", vbOKOnly + 16, "有数据库登陆试验"
Me.Text1.Text = ""
Me.Text2.Text = ""
Me.Text1.SetFocus
Exit Sub
End If
If Me.Text2.Text = StrPassWord Then
main.Show
main.Enabled = True
Unload Me
Exit Sub
End If
End If
Wend
End Sub
Private Sub Form_Load()
Dim StrConnect As String
'连接数据库
StrConnect = App.Path
If Right(StrConnect, 1) <> "\" Then StrConnect = StrConnect + "\"
StrConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & StrConnect & "\sky.mdb"
Adodc1.ConnectionString = StrConnect
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "SELECT * FROM [user]"
Adodc1.Refresh
Me.Adodc1.Visible = False
End Sub
Top




