小问题 如何单个比较数据库里的用户名和密码
private void button1_Click(object sender, EventArgs e)
{
string Uname = this.textBox1.Text;
string Upwd = this.textBox2.Text;
string sql="server=.;uid=sa;pwd=123456;database=db_EquipmentMS;";
string sql2="select * from tb_User where userName=@Uname and userPwd=@Upwd";
using (SqlConnection conn = new SqlConnection(sql))
{
conn.Open();
using (SqlCommand comd = new SqlCommand(sql2,conn))
{
SqlParameter param1 = comd.Parameters.Add("@Uname", SqlDbType.VarChar);
param1.Value = Uname;
SqlParameter param2 = comd.Parameters.Add("@Upwd", SqlDbType.VarChar);
param2.Value = Upwd;
SqlDataReader reader = comd.ExecuteReader();
if (reader.Read())
{
MessageBox.Show("成功!");
}
else
{
MessageBox.Show("cuowu!");
} }
}
}
我想单个的去比较用户名和密码是否正确。。。用户名错了就是用户名错了,密码就是密码。而不是我现在这种错了不知道哪个
麻烦有空帮忙改下 谢谢
------解决方案--------------------只通过用户名取得记录
select * from tb_User where userName=@Uname
如果返回记录,则说明用户名是正确的。
然后比较返回的密码和用户的密码。
------解决方案--------------------我想单个的去比较用户名和密码是否正确。。。用户名错了就是用户名错了,密码就是密码。而不是我现在这种错了不知道哪个
------------------------
你这样会有漏洞的,比如某个非注册想登录,当提示密码错了,意思就是用户名对了,这样他可以只处理密码就可以登录了,如果是按你原来的方法,那他就不知道是用户名还是密码错了,这样他要花更多的时间和精力来登录了。