if (myDr["psw"].ToString().Equals(upws)) 这样比是不正确的,Equals()只能说明myDr["psw"].ToString()和upws都是字符串对象,并没有比较字符串中的字符是否相等应该用CompareTO()方法比较if(myDr["psw"].ToString().CompareTo(upws) == 0) { //TODO: }
两个思路: 1,根据录入用户名去数据库里检索密码,然后对获取的密码和当前录入的密码进行比对! 2,根据录入用户名和密码去数据库里检索,如果有这条记录,即可正常登录更新的原理是一样的: 像这样的用户名,登录名肯定是主键或是唯一的,所以你就可以根据登录名去修改密码!Ex: update password from users where loginname='当前录入的用户名'供参考,希望对楼主有帮忙!
//把用户名和密码赋值给uname和upws
string uname = this.text_name.Text.Trim();
string upws = this.text_pws.Text.Trim();
try
{
con.Open();
string str_SQL = "select users.user,users.psw from users where user = '" + uname + "'";
OleDbCommand myCmd = new OleDbCommand(str_SQL,con);
OleDbDataReader myDr = myCmd.ExecuteReader();
myDr.Read();
//判断是否有记录返回
if (myDr.HasRows == false)
{
MessageBox.Show("该用户名不存在!");
text_name.Text = "";
text_name.Focus();
text_pws.Text = "";
myDr.Close();
return;
} if (myDr["psw"].ToString().Equals(upws))
{
MessageBox.Show("欢迎登陆!");
//打开主窗口的
mainForm main = new mainForm();
main.Show();
this.Hide();
}
else
{
MessageBox.Show("密码错误!");
text_pws.Text = "";
text_pws.Focus();
myDr.Close(); //关闭连接!!! } }
catch (Exception exp)
{
MessageBox.Show(exp.ToString());
}
{
//TODO:
}
1,根据录入用户名去数据库里检索密码,然后对获取的密码和当前录入的密码进行比对!
2,根据录入用户名和密码去数据库里检索,如果有这条记录,即可正常登录更新的原理是一样的:
像这样的用户名,登录名肯定是主键或是唯一的,所以你就可以根据登录名去修改密码!Ex:
update password from users where loginname='当前录入的用户名'供参考,希望对楼主有帮忙!