vb.net数据重复这样写错在哪里求解

q411139597 2014-12-04 10:38:10
Dim mysql As String
mysql = "SELECT COUNT(*) FROM 表3 UserID='" & Form1.TextBox1.Text() & "'"
Dim da1 As New OleDb.OleDbDataAdapter(mysql, myconn)
Dim ds1 As New DataSet
da1.Fill(ds1, "[表3]")
If ds1.Tables(0).Rows.Count = Form1.TextBox1.Text Then
MsgBox("重复登入")

Else

表3是一个空表,数据登入时候会把数据写进去。。。
...全文
180 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
q411139597 2014-12-05
  • 打赏
  • 举报
回复
谢谢,问题解决了
q411139597 2014-12-05
  • 打赏
  • 举报
回复
您给的代码报错了ds.Tables(0).Rows[0][0]
於黾 2014-12-05
  • 打赏
  • 举报
回复
或者你把select语句改一下 不要查询count(*) 直接查询select * from 然后判断行数
於黾 2014-12-05
  • 打赏
  • 举报
回复
是的,没数据也返回1 因为你取的是 ds1.Tables(0).Rows.Count 而不是 ds1.Tables(0).Rows[0][0] 如果没有数据,查询出来是0,而不是空行
q411139597 2014-12-05
  • 打赏
  • 举报
回复
为什么会返回1啊
q411139597 2014-12-05
  • 打赏
  • 举报
回复
是 If ds1.Tables(0).Rows.Count = 1 Then 这一条写错了吗????没数据也返回1?
q411139597 2014-12-05
  • 打赏
  • 举报
回复
Dim mysql As String mysql = "SELECT COUNT(*) FROM 表3 where UserID='" & TextBox1.Text() & "'" Dim da As New OleDb.OleDbDataAdapter(mysql, myconn) Dim ds As New DataSet da.Fill(ds, "[表3]") If ds1.Tables(0).Rows.Count = 1 Then MsgBox("重复登入") TextBox2.Text = "" TextBox2.Focus() 我这样写了,不管有没有数据他一直显示重复登入
q411139597 2014-12-04
  • 打赏
  • 举报
回复
我一开始想法是如果查询出来的数据和textbox1数据一样的话就提示错误的,数据库打开了的
於黾 2014-12-04
  • 打赏
  • 举报
回复
If ds1.Tables(0).Rows.Count = Form1.TextBox1.Text Then 这是干什么,跟TextBox1的内容比较有什么意义吗
X-i-n 2014-12-04
  • 打赏
  • 举报
回复
查询里的where在哪? 你的myconn有没有open 在if那句debug,看一下状态
q411139597 2014-12-04
  • 打赏
  • 举报
回复
我感觉像是写错了函数。。。。因为根本没有执行这个。。。。
_Monkey_King 2014-12-04
  • 打赏
  • 举报
回复
你想弄的是 登陆就写入数据 离开就删除 如果同一个ID在这张登录表里存在了 下一个人就不能登陆么 那也该是ds1.Tables(0).Rows.Count !=0 啊 表示 你查到这个ID在这张表里已经有了
_Monkey_King 2014-12-04
  • 打赏
  • 举报
回复
UserID='" & Form1.TextBox1.Text() & "'" 说明 Form1.TextBox1.Text()表示的是UserID 那么ds1.Tables(0).Rows.Count = Form1.TextBox1.Text是什么意思?拿有几条数据去和UserID 做比较?
xdashewan 2014-12-04
  • 打赏
  • 举报
回复
你的sql永远只会抽出一条数据,ds1.Tables(0).Rows.Count永远为1
X-i-n 2014-12-04
  • 打赏
  • 举报
回复
如一楼所说,你对查询结果取 rows.count 永远为1,因为你查出来的是记录条数。 另外,检查你的查询语句。 别的地方没有问题。
X-i-n 2014-12-04
  • 打赏
  • 举报
回复
debug一下你的查询语句 。是不是漏了 'where '?

16,554

社区成员

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

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