当前位置:编程问答 > C#/ASP.NET >

验证用户名密码是否在数据库里存在老是出错,跪求!

当用户输入密码帐号时,cmd.executescalar查看数据库是否存在,存在返回1,可是以下程序走到cmd.executescalar就终止了,为什么呢?


        OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + System.Web.HttpContext.Current.Server.MapPath("../App_Data/userdb.mdb"));
      
        string sqlstr = "select count(*) from tb_admin where name='admin'and pwd='admin'";
        try
        {
            OleDbCommand sqlcomm = new OleDbCommand(sqlstr, conn);
            sqlcomm.Connection.Open();
             
          
           if (sqlcomm.ExecuteScalar().ToString() == "1")// 程序走到这里就终止了
   
           {

                Response.Redirect("abc.aspx");
                 

           }

           else

           {
  
               Response.Write("<script>alert('用户名或密码错了!');</script>");

           }
        }
        catch
        {

        }
        finally
        {
            if (conn.State != ConnectionState.Closed)
            {
                conn.Close();



            }
        }  --------------------编程问答-------------------- 报错信息贴出来
--------------------编程问答-------------------- string sqlstr = "select count(*) from tb_admin where name='admin' 空格 and pwd='admin'";
--------------------编程问答-------------------- 你最好把你的sql打印出来 然后运行一下 看看有没有问题
引用 2 楼 wyq29 的回复:
string sqlstr = "select count(*) from tb_admin where name='admin' 空格 and pwd='admin'";
--------------------编程问答-------------------- select count(*) from tb_admin where name='admin' and pwd='admin'
sql先放数据库执行一下 --------------------编程问答-------------------- sql语句在分析器就有错吧 --------------------编程问答-------------------- 下断点,运行到sql语句那里后,以文本格式打开,复制,放到数据库里运行一遍,看看是什么原因,看看能不能顺利运行! --------------------编程问答-------------------- SQL语句错了! 楼主是来送分的啊,谢谢了啊 --------------------编程问答--------------------
try
{int intCount=(int)cmd.ExecuteScalar();

}catch{} --------------------编程问答-------------------- 报告的是什么错误呢?

我觉得应该是Access 不能直接使用name,要用[name] --------------------编程问答--------------------
引用 9 楼 winner2050 的回复:
报告的是什么错误呢?

我觉得应该是Access 不能直接使用name,要用[name]


+1 --------------------编程问答-------------------- 我找到错误了,哎,写程序就这点老火,我把= 写成=号了,一个段一毫米,一个长一毫米

顺便问一下,用户输入帐号密码后,为什么走到这句就终止了呢?
session["name"]=name; //name 是保存用户名的string --------------------编程问答-------------------- 靠
,这错误

区分大小写吧
报的什么错你要发出来别人才知道  --------------------编程问答-------------------- 是这样的,用户登陆后,我要将name 放入session中,然后在其他页使用.                
Session["admin"] = name;//name存放的就是admin
Response.Redirect("aaa.aspx"); 

在这里判断为什么是false呢?
if (Session["admin"] == "admin")

{
执行其他程序
}
else
{
返回登陆页面;
} --------------------编程问答-------------------- select count(*) from tb_admin where name='admin' and pwd='admin' --------------------编程问答-------------------- lz难道在用记事本编程 --------------------编程问答-------------------- 其实,错误信息能帮你解决很多问题.你都不看错误信息,光知道出错是没用的.
不贴信息,还要别人帮你分析可能的错误信息
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,