access数据库中有user表,表中字段:userid,userpsw。
我只在vb窗口中建好框架和已使用“adodc控件”与数据库连接,其他一点都没做,怎样写代码才可以在窗口的两个text框中输入id和psw后判断是否与数据库user表中记录相对应,对应就show另一个窗口?
我想了一种方法是用SQL语言SELECT * FROM USER WHERE USERID="TEXT1.TEXT" AND USERPSW="TEXT2.TEXT",这样如果找不到EOF就为真,可是具体代码不会写,请各位前辈指导一下。
请解释详细,我是初哥。
我只在vb窗口中建好框架和已使用“adodc控件”与数据库连接,其他一点都没做,怎样写代码才可以在窗口的两个text框中输入id和psw后判断是否与数据库user表中记录相对应,对应就show另一个窗口?
我想了一种方法是用SQL语言SELECT * FROM USER WHERE USERID="TEXT1.TEXT" AND USERPSW="TEXT2.TEXT",这样如果找不到EOF就为真,可是具体代码不会写,请各位前辈指导一下。
请解释详细,我是初哥。
& "and userpsw='" & text2.text & "'"
Dim db As Database
Dim rs As Recordset
在窗体登陆确定按钮单击事件中添加代码
Set db = OpenDatabase(数据库文件的完整路径)
Set rs = db.OpenRecordset(该数据库中要查询的表,本例为user)
就这样连接到数据库中,然后就可以执行你想要的工作了
查询语句同 Daniel0318(深水炸弹)
执行SQL语句用db.Execute(连接字符串)
Dim sql As String
sql = " SELECT * FROM user WHERE USERID= '" & Text1.Text & "' AND USERPSW= '" & Text2.Text & "'"
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = sql
Adodc1.Refresh
If Adodc1.Recordset.EOF = True Then
MsgBox "err"
Else
MsgBox "ok"
End If
End SubPrivate Sub Form_Load()
Adodc1.Refresh
End Sub
这种方法,很容易被人利用。
建议用用户名,读出密码,然后比对
因为如果在密码中输入
1' or '1' = '1 就相当于通用密码
多谢!