帮我看看这个SQL串

jiyongji 2009-08-05 08:44:46
Dim strConn As String = "data source=.\sqlexpress; database=test; integrated security=true "
Dim conn = New SqlConnection(strConn)
Dim userStr = txtname.Text.ToString().Trim()
Dim pwdStr = txtpwd.Text.ToString().Trim()

Dim sqlStr = "select * from tb_user where user='" + userStr + "'and password='" + pwdStr + "'"
conn.Open()
Dim com = New SqlCommand(sqlStr, conn)
Dim dr As SqlDataReader = com.ExecuteReader()

If dr.Read() = True Then
MsgBox("登陆成功")
ElseIf dr.Read() = False Then

MsgBox("用户名或密码错误")

End If

dr.Close()
conn.Close()
End Sub
初学VB,反正是登陆不成功,在怀疑c#应该就是这么写的吧!
...全文
60 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lingxizhixia 2009-08-05
  • 打赏
  • 举报
回复
用这个 我试过能用的
Dim strConn As String = "Persist Security Info=false; database=project;Server=localhost;integrated security=SSPI"
Dim conn = New SqlConnection(strConn)
Dim userStr = txtname.Text.ToString().Trim()
Dim pwdStr = txtpwd.Text.ToString().Trim()

Dim sqlStr = "select * from users where use_id='" + userStr + "'and use_password='" + pwdStr + "'"
conn.Open()
Dim com = New SqlCommand(sqlStr, conn)
Dim dr As SqlDataReader = com.ExecuteReader()

If dr.Read() = True Then
MsgBox("登陆成功")
ElseIf dr.Read() = False Then
MsgBox("用户名或密码错误")
End If
dr.Close()
conn.Close()

红色的分别为数据库名 表名 用户字段名 密码字段名 相应的改成你的就行了
jack43349489 2009-08-05
  • 打赏
  • 举报
回复
捕获一下异常吧!
wplpss 2009-08-05
  • 打赏
  • 举报
回复
就是没有else if那句,照样弹不出“登陆成功”
txyw_zj 2009-08-05
  • 打赏
  • 举报
回复
把+号换成&
CloneCenter 2009-08-05
  • 打赏
  • 举报
回复
dr.Read 方法会导致游标的指针向下移动,所以只需要一次 Read 就可以了。因为你获取到的结果集只有一条记录,所以在ElseIf 中的判断会报错。

If dr.Read() = True Then
MsgBox("登陆成功")
' ElseIf dr.Read() = False Then ' 这里重复使用 Read 方法会导致读取不到数据。
Else ' 只需要一个 Else 就可以了。
MsgBox("用户名或密码错误")

End If
cwaspnet 2009-08-05
  • 打赏
  • 举报
回复
感觉if判断有点不对

16,721

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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