当前位置:编程学习 > asp >>

为什么我的ASP代码报错呀 高手给我看看吧

string strconn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Server.MapPath("App_Data\\news.mdb");
OleDbConnection conn = new OleDbConnection(strconn);
string Username = "";
string Pwd = "";
Username = this.Login1.UserName.Trim();
Pwd = this.Login1.Password.Trim();
string Sql;
Sql = "select count(*) from user where username='" + Username + "' and pwd='" + Pwd + "'";
OleDbCommand cmd = new OleDbCommand(Sql, conn);
conn.Open();
int ret = (int)cmd.ExecuteScalar();
conn.Close();
if (ret <= 0)
{

Response.Write("<script> alert(\"登录失败!用户名或密码错误!\")</script>");


}
else
{

Session["username"] = Username;


}
没什么报 from 语法错误呀
追问:我的语句改了很多次了  你说的我也用了   不行   是不是语句里面的参数没有传进去呀呀   我把下面的换了 Username = this.Login1.UserName.Trim();
Pwd = this.Login1.Password.Trim();
不用 登陆控件 而直接用 一个TEXTbox 传值就行了
答案:
楼上的,看清楚楼主写的东西,人家是用c#做的,你弄个asp的过来人家怎么看
回楼主,select count(*) from user where username='" + Username + "' and pwd='" + Pwd + "'
这个语句肯定不行,既然是验证登录,数据行肯定只有一行,count是多余的,而如果登录失败,即没有记录的话,那count语句就出错了,把count删了吧,改成×
我觉得 select * from.....就可以了啊
select count(*)是用来计数的,所以就会报错
怎么搞这么复杂啊,看起来也乱七八糟的,是不是使用DW做的连接啊?!!!!!!!!
SET Conn= Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
Conn.Open Server.MapPath("App_Data\\news.mdb")
sql="select * from [user] where.................."
Set rs=conn.execute(sql)
if rs.eof then
'输出错误
else
'写入session
end if
-------------------
另外,关键....你的user数据表,sql查询的时候最好带上[user],user为系统保留的关键字一般不使用的
Sql = "select count(*) from user where username='" + Username + "' and pwd='" + Pwd + "'";
你这一句查询的是从数据表中返回符合的记录条数,而并不是查询用户名和密码.
count(*)里面你把*换成一个具体的列试试  我以前就出过这个错 后来全用count(id)就好了

上一个:求一排值班表系统,最好是ASP代码写的
下一个:asp数据库代码问题

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,