在vb2008中有关ado操作的问题

lfz1988 2012-08-19 08:51:46
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim Str1 As String
Dim Str2 As String
Dim Str3 As String
Dim sql As String
Str1 = "Provider=Microsoft.Jet.OLEDB.4.0;"
Str2 = "Data Source=" & Application.StartupPath & "\用户信息库.mdb;"
Str3 = "Jet OLEDB:Database Password="
conn.Open(Str1 & Str2 & Str3)
If Trim(txtUserName.Text) = "" Then '检测用户名正确与否

MsgBox("用户名不能为空,请重新输入!")
txtUserName.Focus()
Else
sql = "select * from 用户信息表 where 用户名 = '" & txtUserName.Text & "'"
rs.Open(sql, conn, 3, 3)
If rs.EOF = True Then
MsgBox("用户名不存在,请重新输入!")
txtUserName.Text= ""
txtUserName.Focus()
Else '检测密码正确与否
If rs.Fields(2) = Trim(txtPassword.Text) Then rs.Close()
Me.Close()
FormMain.Show()
Else
MsgBox("密码错误,请重新输入!")
End If

End If

End If
就是红色标注的那句报错,提示是 无法将类型为“ADODB.InternalField”的对象强制转换为类型“System.String”。
在vb6中是没有错的。请问这怎么解决
...全文
93 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
熊孩子开学喽 2012-08-20
  • 打赏
  • 举报
回复
你得看看rs.Fields(2)字段是什么类型的.

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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