读书人

初学者问:小弟我写了个与access连接的

发布时间: 2012-03-18 13:55:39 作者: rapoo

菜鸟问:我写了个与access连接的登陆界面,报错;请高手指点
Private Sub Form_Load()

Dim cn As New ADODB.Connection
Dim rs1 As New ADODB.Recordset
Dim sql As String

cn.Open "provider=microsoft.jet.oledb.4.0;data source=d:\gift\gift.mdb "
End Sub

Private Sub Command1_Click()
Dim username 'As Integer
Dim psw 'As Integer
username = Tusername.Text
psw = Tpsw.Text
sql = "select * from user where logincode=username and password=psw "
rs1.Open sql
If rs1.RecordCount > 0 Then
Unload Me
pgmain.Show
Else
MsgBox "用户名或密码错误 ", 36, "信息提示 "

End If


End Sub

Private Sub Command2_Click()
If MsgBox( "是否确定离开? ", 36, "信息提示 ") = vbNo Then
Exit Sub
Else
End
End If
End Sub


用了两个文本框:tusername,tpsw
两个按钮:command1,command2

[解决办法]
sql = "select * from [user] where logincode= ' "& username & " ' and [password]= ' "& psw & " ' "

[解决办法]
sql = "select * from user where logincode= ' " & replace(username, " ' ", " ' ' ") & " ' " and replace(password, " ' ", " ' ' ")= ' "& psw & " ' "

[解决办法]
1,user为关键字,要用[]括起来
2,字符型变量引用: ' "& 变量名 & " '
3,数值型变量引用: "& 变量名 & "
[解决办法]
sql = "select * from user where logincode= ' " & replace(username, " ' ", " ' ' ") & " ' " and replace(password, " ' ", " ' ' ")= ' "& psw & " ' "

Unload Me
pgmain.Show
顺序交换一下

你设置一下断点就知道错误在哪句话了

你在form_load里面定义的conn和rs在button click里面用当然不行了

你把定义放在buttn click里面


Private Sub Command1_Click()
Dim username 'As Integer
Dim psw 'As Integer
Dim cn As New ADODB.Connection
Dim rs1 As New ADODB.Recordset
Dim sql As String

cn.Open "provider=microsoft.jet.oledb.4.0;data source=d:\gift\gift.mdb "
username = Tusername.Text
psw = Tpsw.Text
sql = "select * from user where logincode=username and password=psw "
rs1.Open sql
If rs1.RecordCount > 0 Then
Unload Me
pgmain.Show
Else
MsgBox "用户名或密码错误 ", 36, "信息提示 "

End If


End Sub

读书人网 >VB

热点推荐