首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

初学者问:小弟我写了个与access连接的登陆界面,报错;请

2012-03-18 
菜鸟问:我写了个与access连接的登陆界面,报错;请高手指点PrivateSubForm_Load()DimcnAsNewADODB.Connectio

菜鸟问:我写了个与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

热点排行