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
请
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();