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