首页 新闻 赞助 找找看

vb.net中怎么判断用户已经注册过了

0
[已关闭问题] 关闭于 2013-07-29 16:16

vb.net中怎么判断用户已经注册过了~~

我是这么想的,用

Dim cmd0 As New SqlCommand("select count(*) from [UserTable] where username='" + TextBox1.Text + "'", con)

得到返回值,判断影响的行数,如果大于0就存在

可是现在不知道怎么得到返回值进行判断

希望各位大神帮忙!

xymaqingxiang的主页 xymaqingxiang | 初学一级 | 园豆:149
提问于:2013-07-29 11:18
< >
分享
所有回答(1)
0

首先看看ExecuteNonQuery()与ExecuteNonQuery()的返回值。
SqlCommand.ExecuteNonQuery() 方法仅对于 UPDATE、INSERT 和 DELETE 语句,返回值为该命令所影响的行数。对于所有其他类型的语句,返回值为 -1。如果发生回滚,返回值也为 -1

SqlCeCommand.ExecuteScalar ()方法执行查询,并返回查询所返回的结果集中第一行的第一列,忽略额外的列或行。如果为聚合查询则返回一个聚合值。

所以在查询表中是否有(某条)数据的时候,一定不能用 cmd.ExecuteNonQuery()通过返回值是否大于0来判断。

解决方案:
1. SqlCeCommand.ExecuteScalar ()方法 中使用 聚合查询
cmd.CommandText = " select count(*) from users where id = sa and password=123;"

int count = (int)cmd.ExecuteScalar() ;

If(count>=1)

       return true;

else

      return false;

2. 用ExecuteReader()方法返回一个reader
cmd.CommandText = " select count(*) from users where id = sa and password=123;"

SqlDataReader dreader = Cmd.ExecuteReader();

if(dreader.Read()==false)

      return false ;

else

     return true ;

xymaqingxiang | 园豆:149 (初学一级) | 2013-07-29 16:15
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册