验证用户名密码是否在数据库里存在老是出错,跪求!
当用户输入密码帐号时,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打印出来 然后运行一下 看看有没有问题
--------------------编程问答-------------------- 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] --------------------编程问答--------------------
+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