读书人

登录验证有关问题纠结一天了来个高

发布时间: 2013-07-04 11:45:40 作者: rapoo

登录验证问题,纠结一天了,来个高手给指点下,在线等!
我是新手,这段代码看一天了 , 也没找到解决的问题,不知道是不是SQL 语句错误,代码如下,麻烦高手给指点下!不胜感激!
protected void btn_ok_Click(object sender, EventArgs e)
{

if (this.tb_userid.Text.ToString() == "" & this.tb_password.Text.ToString() == "")
{
lb_msg.Text = "员工编号或密码不能为空";
}
else
{
string con = "provider=microsoft.jet.oledb.4.0;"; con += @"data source=f:\网站开发\DataBase\hrdata.mdb";
OleDbConnection Olecon = new OleDbConnection(con);
Olecon.Open();


OleDbCommand olecmd = new OleDbCommand("SELECT * FROM [user] WHERE (user_id = "+this.tb_userid.Text.ToString()+" AND user_password = "+this.tb_password.Text.ToString()+")",Olecon);


OleDbDataReader olddr = olecmd.ExecuteReader();

if(olddr.Read())
{
this.btn_ok.PostBackUrl = "Salary.aspx";
Olecon.Close();
Olecon.Dispose();
Session["userid"] = this.tb_userid.Text.ToString();
}
else
{
Olecon.Close();
Olecon.Dispose();
this.lb_msg.Text = "账号密码错误";
}
}



错误图片已经上传,请高手给看下!
ASP.NET SQL 新手
[解决办法]
你打个断点,把olecmd 的值发上来,我帮你看看
[解决办法]

引用:
Quote: 引用:

if (this.tb_userid.Text.ToString() == "" & this.tb_password.Text.ToString() == "")
{
lb_msg.Text = "员工编号或密码不能为空";
}

真是新手啊!逻辑判断都不对?


调试看看SQL语句是什么,然后复制出去执行看是哪里错!

用的ACCESS数据库,不知道在哪里可以测试SQL语句! 刚接触这个没2天!见笑了!
那就是这个问题了,单引号加上,看看你属性设计的时候用的是什么类型,要用varchar类型
[解决办法]
如果数据库字段是字符串类型就要加单引号,int型不加。
if (this.tb_userid.Text.ToString() == "" & this.tb_password.Text.ToString() == "")
应改为
if (this.tb_userid.Text.ToString() == ""
[解决办法]
this.tb_password.Text.ToString() == "")
只要有一个为空就执行这里

读书人网 >asp.net

热点推荐