急啊,关于网页登陆帐号的校验,在SQL数据库中查询,正确后写入Session...大家帮帮忙!

i169net 2003-10-18 02:59:20
网页登陆帐号的校验,在SQL数据库中查询,正确后写入Session...

下面这个 mylogin 为登陆按钮的单击事件:

void mylogin(object sender,EventArgs e)
{ string a_u=Request.Form["user"];
string a_p=Request.Form["upass"];
a_u=a_u.Trim();
a_p=a_p.Trim();

string strcon="server=server;database=sanfei;uid=sa;pwd=123456;";
strcon+="Connect Timeout=30";
//查询SQL数据库,查找符合条件 username=a_u 的记录
string strsql="Select username,password,lev from user where username='"+a_u+"';";

SqlConnection objcon=new SqlConnection(strcon);
DataSet dset = new DataSet();
SqlDataAdapter apt = new SqlDataAdapter(strsql, objcon);
apt.Fill(dset, "us");
DataTable tb=dset.Tables["us"];
DataRow[] objrows=tb.Select();
//符合条件的记录个数rown,如果没搜索到应该是 rown=0 吧?
int rown=tb.Rows.Count;
if (rown>0)
{
string sql_u=Convert.ToString(objrows[0]["username"]);
string sql_p=Convert.ToString(objrows[0]["password"]);
string sql_l=Convert.ToString(objrows[0]["lev"]);
Session["username"]=(object)sql_u.Trim();
Session["password"]=(object)sql_p.Trim();
Session["lev"]=(object)sql_l.Trim();
Response.Write("<script>alert('登录成功!');<//script>");
Response.Redirect("");
}
else
{
Response.Write("<script>alert('登录帐号或密码错误!');<//script>");
}
}

数据库连接没有问题,但执行时发生错误:
在关键字 'user' 附近有语法错误。 <———(我的代码中根本没有"user"啊?)
异常详细信息: System.Data.SqlClient.SqlException: 在关键字 'user' 附近有语法错误。

源错误:


行 44: DataSet dset = new DataSet();
行 45: SqlDataAdapter apt = new SqlDataAdapter(strsql, objcon);
行 46: apt.Fill(dset, "us"); 〈---------提示这行错误???
行 47: DataTable tb=dset.Tables["us"];
行 48: DataRow[] objrows=tb.Select();


源文件: F:\sanfei\index.aspx 行: 46

堆栈跟踪:


[SqlException: 在关键字 'user' 附近有语法错误。]
System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream) +643
System.Data.SqlClient.SqlCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior) +9
System.Data.Common.DbDataAdapter.Fill(Object data, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +121
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +77
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable) +36
ASP.index_aspx.mylogin(Object sender, EventArgs e) in F:\sanfei\index.aspx:46
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +108
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +57
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +18
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
System.Web.UI.Page.ProcessRequestMain() +1263


...全文
62 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
yaotiebing 2003-10-19
  • 打赏
  • 举报
回复
"+a_u+"';";===〉
"+a_u+"'";
分号没有用的
yaotiebing 2003-10-19
  • 打赏
  • 举报
回复
我的代码中根本没有"user"啊?) 可是这里有 ="Select username,password,lev from user where 。。。。。
loulanlouzhu 2003-10-19
  • 打赏
  • 举报
回复
在关键字 'user' 附近有语法错误。 <———(我的代码中根本没有"user"啊?)


-->>>明明有你确说没有!????
sgmao 2003-10-19
  • 打赏
  • 举报
回复
string strcon="server=server;database=sanfei;uid=sa;pwd=123456;";

这句最后不用加";"或用这个试一下

string strConn = "Data Source=;Initial Catalog=Exam01;User Id=sa;Password=";
ddangerous169 2003-10-19
  • 打赏
  • 举报
回复
你试一下连其它表,如果还是有错就是你的连接串的问题啦。
试一下忙改动,或是用vs.net自个生成的连接串。user id=sa; password=123456
webdiyer 2003-10-19
  • 打赏
  • 举报
回复
对了,还有删除最后那个分号,正确的是这样:

string strsql="Select [username],[password],lev from [user] where [username]='"+a_u+"'";

webdiyer 2003-10-19
  • 打赏
  • 举报
回复
afxucamd(u) 已经说了,你的SQL语句中有 user,password这些sql关键字,所以实际是在执行数据库查询时出错,你必须把关键字用[]括起来,改成这样:

string strsql="Select [username],[password],lev from [user] where [username]='"+a_u+"';";
afxucamd 2003-10-18
  • 打赏
  • 举报
回复
把代码中的:
string strsql="Select username,password,lev from user where username='"+a_u+"';";
改为:
string strsql="select username,password,lev from [user] where username='"+a_u+"'";

原因:
user为是sql server中的保留字,要用"[]"括起来。

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧