2013-06-27 65 views
1

我创建了一个if else语句来检查数据库中是否存在数据库,但ASP不检查它?ASP.NET C#不检查数据库中是否存在用户

我觉得我做错了。

这是我的代码...

SqlCommand check = new SqlCommand("SELECT Count(*) FROM [Users] WHERE Username='" + @username + "'", Connect); 

     int exist = check.ExecuteNonQuery(); 

     if (exist > 0) 
     { 
      txtuser.Text = "User already exists"; 
     } else 
     // Insert the non-existing data to database 
+0

请参数化您的查询,请考虑用户名''drop table [Users] --' http://www.dotnetperls.com/sqlparameter – mlorbetske

+0

我不明白参数化,但我会阅读您给我的链接。谢谢 – Belzelga

+0

'SqlCommand check = new SqlCommand(“SELECT Count(*)FROM [Users] WHERE Username ='”+ @username +“'”,Connect);'会变成'SqlCommand check = new SqlCommand(“SELECT Count(* )FROM [Users] WHERE Username ='@ username'“,Connect); check.P​​arameters.Add(new SqlParameter(“username”,@username));'只是试图挽救你头痛的道路; – mlorbetske

回答

6

尝试像t这...

int exist =(int) check.ExecuteScalar() 

ExecuteNonQuery()返回受影响的database.But的行数在这里你没有更新或插入使它总是会返回0。

+0

哇!现在正在工作。谢谢阿米特 – Belzelga

+0

欢迎@Belzelga .....但不要忘记接受答案,除非你找到更好的答案。 –

+0

谢谢。是的,但它说'你可以在2分钟内接受答案':D – Belzelga

相关问题