C#中如果实现和数据库的密码比对?
我是用Access,我想让用户输入的口令和数据库里数据进行比对,如果正确则可以进入,否则不能.并且还要能修改密码!请帮帮我,告诉我要怎么实现? --------------------编程问答-------------------- 找一个简单的 用户登录示例吧 --------------------编程问答-------------------- 哦,夜里睡不着,上来看看,竟然看到了你这个问题,没人回你,我回个吧,要不就冷场了。
下次建义你不要问这种,要code的问题,而且还是very 易做图的,
你应该问点有难度的,有深度的 --------------------编程问答-------------------- 本人刚学,自己抄了一个
//把用户名和密码赋值给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());
} --------------------编程问答-------------------- -_-!!! 不是吧... --------------------编程问答-------------------- 1楼,famemkl 如果你不想回答就算了,何必这样说呢?在论坛上还是要有点素质!!!!!!!!!!!!!!!!!!! --------------------编程问答-------------------- 是2楼,famemkl 如果你不想回答就算了,何必这样说呢?在论坛上还是要有点素质!!!!!!!!!!!!!!!!!!! --------------------编程问答-------------------- 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='当前录入的用户名'
供参考,希望对楼主有帮忙!
补充:.NET技术 , C#