登录问题??请帮忙

purerain 2004-05-04 06:20:44
本人刚刚学VB,我想做一个登录框,在text1中输入ID,text2中输入密码。
然后把他们和access中数据库中的assistant表中的ID和密码比较,为什么运行时会有错误?

Private Sub Command1_Click()
Dim cnn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim StrSql As String
cnn.Open "provider=Microsoft.Jet.OLEDB.4.0;data source=" & App.Path & "\libary1.mdb"
rs.Open "select 1 from [assistant] where ID='" & Text1.Text & "' and 密码='" & Text2.Text & "'", cnn, adOpenKeyset, adLockBatchOptimistic
If rs.EOF Then
MsgBox "不存在此用户名与密码"
Else
'登录
End If
rs.Close
End Sub


...全文
93 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
purerain 2004-05-05
  • 打赏
  • 举报
回复
谢谢楼上的大哥啊
lizifang 2004-05-04
  • 打赏
  • 举报
回复
Private Sub cmdOK_Click(Cancel As Boolean)

Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim sql
Dim ConnectString As String
ConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\libary1.mdb;Persist Security Info=False;Jet OLEDB"
conn.Open ConnectString

sql = "select * from assistant where ID='" & text1.text & "' and 密码='" & text2.Text & "'"
rs.Open sql, conn
If rs.EOF Then
MsgBox "用户名或密码错,请重新输入!", , "登录"
Else

Unload Me
MDIForm1.Show
End If
rs.Close

End Sub
饮水需思源 2004-05-04
  • 打赏
  • 举报
回复
'这样试试:
Private Sub Command1_Click()
Dim cnn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim StrSql As String
cnn.Open "provider=Microsoft.Jet.OLEDB.4.0;data source=" & App.Path & "\libary1.mdb"
if rs.state=adstateopen then rs.close
rs.Open "select * from assistant where [ID]='" & Text1.Text & "' and 密码='" & Text2.Text & "'", cnn, adOpenKeyset, adlockreadonly
If rs.recordcount=0 Then
MsgBox "不存在此用户名与密码"
Else
'登录
End If
rs.Close
End Sub
lsftest 2004-05-04
  • 打赏
  • 举报
回复
rs.Open "select * from [assistant] where ID='" & Text1.Text & "' and 密码='" & Text2.Text & "'", cnn, adOpenKeyset, adLockBatchOptimistic

另外检查id、密码字段的数据类型,如果是数值类型要把对应的单引号去掉。。。

1,217

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧