C# 登录窗体问题

来源:百度知道 编辑:UC知道 时间:2024/06/14 10:33:33
cn.Open();
strsql="select * from Users where UserID=@UserID";
SqlCommand cmd=new SqlCommand(strsql,cn);
cmd.Parameters.Add("@UserID",SqlDbType.VarChar,10);
cmd.Parameters[0].Value=this.textBox1.Text;
SqlDataReader rdr=cmd.ExecuteReader();
if(rdr.Read())
{
if(rdr["UserPassword"].ToString()==this.textBox2.Text)
{
Form b=new Form2();
b.Show();

//*如果关闭原来的窗口!
this.Hide();
}
else
{

MessageBox.Show("密码错误!");
}
//
}
else
{

MessageBox.Show("用户名错误");

}

cn.Close();

}
问题:这段代码运行时,可以判断用户名(useid),密码也可以读出来,就是无法判断密码和文本框输入的密码是否相等。。。
数据库表设计如下:
useid char(10) pk
UserPassword char(10)

表中数据一行:
888888 shun520

rdr["UserPassword"].Trim().ToString()==this.textBox2.Text.Trim().ToString()

strsql="select * from Users where UserID=@UserID";
SqlCommand cmd=new SqlCommand(strsql,cn);
cmd.Parameters.Add("@UserID",SqlDbType.VarChar,10);
cmd.Parameters[0].Value=this.textBox1.Text;

你把上面的代码换成下面的再试试
strsql="select*from Users where UserID="+this.textBox1.Text+"";
SqlCommand cmd=new SqlCommand(strsql,cn);

while
(rdr.Read())
{
if(rdr["UserPassword"].ToString()==this.textBox2.Text)
{
Form b=new Form2();
b.Show();