建一张登录信息的表,里面记录用户名,密码,
用cmd.CommandText = "select name,psw from users where name='textBox1.Text'and psw='textBox2.Text'";
查找对应的用户名和密码。textBox1是用户名输入框,textBox2是密码输入框但是不知道接下来用什么条件语句判断没有没找到相应的记录。请问要怎么写?或者说这种方法可不可行??

解决方案 »

  1.   

    cmd.CommandText = "select name,psw from users where name='textBox1.Text'and psw='textBox2.Text'"
    ==>
    cmd.CommandText = "select name,psw from users where name='" + textBox1.Text + "'and psw='"+textBox2.Text+"'";其实最好还是使用参数化,不过按我这个改 你就可以判断了
      

  2.   

    判断cmd执行的记录数就可以知道登陆是否成功了
      

  3.   

    cmd.CommandText = "select name,psw from users where name='" + textBox1.Text + "'and psw='"+textBox2.Text+"'";这样就行了!
      

  4.   

    最好不要这样写sql语句,这样容易被sql注入,建议改用存储过程或者参数的形式
      

  5.   

    请问这么改具体有什么区别呢?还有那个判断语句要怎么写~?不是很明白用什么判断~~~刚刚做的时候以为可以用Command的ExecuteNonQuery属性判断影响几行,但是好像用执行删除添加改变表的内容的操作ExecuteNonQuery值才会改变吧??所以不是很懂判断的方法,请教
      

  6.   

    利用SQLDATAREADER来实现的using (var con = new SqlConnection(SqlHelper.conStr))
                {
                    using (var reader = cmd.ExecuteReader(con,  "select name,psw from users where name='textBox1.Text'and psw='textBox2.Text'"))
                    {
                        if(reader.HasRows)
                        {
                            //表示找到数据
                        }else{
                            //数据不存在
                          }
                    }
                }
      

  7.   

    int i= Convert.TOInt32(cmd.ExecuteNonQuery());
    if(i>0)
    {
    messageBox.Show("登陆成功");
    }