请教高手,关于VB的程序

来源:百度知道 编辑:UC知道 时间:2024/06/23 02:18:27
下面是程序代码
Private Sub cmdOK_Click()
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim count As Integer

count = 0

cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\Mr.Together\桌面\数据库2\zuoye.mdb;Persist Security Info=False"
rs.Open "select * from user where id='" & txtUserName.Text & "'", cn, adOpenDynamic, adLockOptimistic
'检查正确的密码
If txtPassword = rs.Fields("pwd") And Not rs.EOF Then
'将代码放在这里传递
'成功到 calling 函数
'设置全局变量时最容易的
LoginSucceeded = True
Me.Hide
Form3.Show

Else
If count = 3 Then
MsgBox "尝试次数到最大值!", vbCritical
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
End If

问题出在这儿
select * from user where ...
应该改为
select * from [user] where ...

链接数据库的时候查询出错了
rs.Open "select * from user where id='" & txtUserName.Text & "'", cn, adOpenDynamic
应该为:rs.Open "select * from user where id=' & txtUserName.Text & ', cn, adOpenDynamic

怎么看SQL查询都没错~
SELECT中的user是表名吗,或者只是变量或者常量名?如果是把表名赋值给常量,然后在SQL语句中引入该常量,稍不注意的话就会容易出错.
rs.Open "select * from " & user & " where id='" & txtUserName.Text & "'", cn, adOpenDynamic, adLockOptimistic

select * from user where ...
应该改为
select * from [user] where ...