SqlConnection con;
con = new SqlConnection("server=127.0.0.1;database=ShoppingNET;user id=sa;password=");
con.Open();
SqlCommand cmd = new SqlCommand("select count(*) from user where vUserName='" + this.userNematxext.Text + "' and vUserPassword='" + this.userPasswordtext.Text + "'", con);
        SqlDataReader ds = cmd.ExecuteReader();//调试的时候老说这里错了
        string Temp="";
        if(ds.Read())
        {
             Temp=ds["username"].ToString();
        }
        ds.Close();
        if((Temp!=null)&&(Temp!=""))
        {
            con.Close();
         ....................
请帮助解决

解决方案 »

  1.   

    验证错误
    有没有都会Read()的
    你要判断的是0或1才对
      

  2.   

    编译是通过的,在调试下一到这句就停了,
     SqlDataReader ds = cmd.ExecuteReader();//
    System.Data.SqlClient.sqlException;在关键字 'user' 附近有语法错误。
      

  3.   

    是不是没用引入System.Data.SqlClient.sqlException;造成的??
      

  4.   

    数据库里面密码如果是int,而this.userPasswordtext.Text 是string,会出错
      

  5.   

    user是sql server的关键字,用[user]
      

  6.   

    如果我想用ExecuteNonQuery()来判断返回值是0或1的话
    那么ExecuteNonQuery()代码带这么写?
    我写的Int ds = cmd.ExecuteNonQuery();老说不能隐试转换
    谁能给个正确的代码
      

  7.   

    ExecuteNonQuery是更新数据受影响的行数,是针对insert、delete、update这些指令的
    如果仅仅查询一个数据可以用ExecuteScalar,返回执行结果第一行第一列的数据
    返回的是object类型,显示转换一下好了
      

  8.   

    int ex = System.Convert.ToInt32(cmd.ExecuteScalar());
            if (ex > 0)
            {
                this.Label1.Text = "<font color=red>登陆成功</font>";
            }
            else
            {
                this.Label1.Text = "<font color=red>用户名,密码输入错误。</font>";
            }
    对吗??为什么来势说int ex = System.Convert.ToInt32(cmd.ExecuteScalar());不能隐试转换