注册 登录
编程论坛 C# 论坛

登陆验证问题求助

ybh24138227 发布于 2015-01-06 13:58, 697 次点击
在数据库中存储着users表,怎么判断登陆页面输入的账号密码在users中存在啊?我新手,找了好多资料还是不太懂
8 回复
#2
over12302015-01-06 21:08
最简单的方法,以输入的账号和密码同时在users表里面查询,若存在,则通过,不存在则不通过。
查询语句,则要看你是什么数据库,不同的数据库会有所不同,这些可以百度到。
#3
over12302015-01-06 21:23
string ConStr = "Provider=Microsoft.Jet.OLEDB.4.0;data source=wh.mdb";
   OleDbConnection con = new OleDbConnectionConStr);
  string sel = "select lev from use where name = '" + comboBox_Name.Text + "' and password = '" + textBox_Password.Text.Trim () + "'
    con.Open();
    OleDbCommand cmd = new OleDbCommand(sel, con);  //数据库内 name为用户名、password 为密码、lev为此用户的权限
    string lev = Convert.ToString(cmd.ExecuteScalar());//读取权限值 ,当没有相应帐号时,则读不到权限值。
    con.Close();
    if (lev !="")
     {
                    MessageBox.Show("登录成功!", "提示");
      }
    else
    {
                      MessageBox.Show("账号或者密码错误!", "提示");
      }

这个是连接access数据库的一个例子,当时也是百度出来的,sql sever 数据库方法也可以用相同原理来实际。
#4
ybh241382272015-01-07 13:43
回复 3楼 over1230
   if (lev !="")是什么意思呀?谢谢
#5
over12302015-01-07 14:10
lev是返回的查询结果,如果查询的结果不为空,则表示账号和密码是对的,如果为空,则表示错误,同时lev和值正好做为此账号的权限标志。
#6
ybh241382272015-01-07 18:29
回复 3楼 over1230
其他的都明白了,可是为什么我测试的时候到了string lev = Convert.ToString(cmd.ExecuteScalar());就出错啊,显示"对象名'use'无效",应该是SQL查询返回值无效或者出错了,但是我不清楚到底哪里出错了,求解?
#7
over12302015-01-08 09:10
use是数据库里面的一个表名,你建了这个表没有的?
#8
ybh241382272015-01-08 12:41
回复 7楼 over1230
建了呀。
#9
ybh241382272015-01-08 13:09
在此感谢over1230谢谢,我C# 里的查询语句user写成了users了,谢谢!问题已经解决了。谢谢!
1