帮忙调试下一段代码
HTML code
SqlConnection conn = new SqlConnection("Data Source=110.136.48.24;Initial Catalog=hope_loan;Integrated Security=True");
conn.Open();
string sql;
if (Request.QueryString["emp_id"]== "")
{
sql = "select * from [hope_empinfo] where hope_emp_name='" + Session["hope_user_name"] + "'";
}
else
{
sql = "select * from [hope_empinfo] where hope_emp_id=" + Request.QueryString["emp_id"];
}
// string sql = "select * from [hope_empinfo] where hope_emp_name='admin'";
SqlDataAdapter ada = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
ada.Fill(ds);
DetailsView1.DataSource = ds;
DetailsView1.DataBind();
错误的提示是:
第 1 行: '=' 附近有语法错误。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息:
System.Data.SqlClient.SqlException: 第 1 行: '=' 附近有语法错误。
源错误:
行 33: SqlDataAdapter ada = new SqlDataAdapter(sql, conn);
行 34: DataSet ds = new DataSet();
行 35: ada.Fill(ds);
行 36: DetailsView1.DataSource = ds;
行 37: DetailsView1.DataBind();
各位帮帮忙啊!在线等
------解决方案--------------------
这段代码本身没有语法错误,但在Request.QueryString["emp_id"]==null的时候拼接的SQL语句会有语法错误
可以改为
if (Request.QueryString["emp_id"]==null || Request.QueryString["emp_id"]== "")
{
sql = "select * from [hope_empinfo] where hope_emp_name='" + Session["hope_user_name"] + "'";
}
else
{
sql = "select * from [hope_empinfo] where hope_emp_id=" + Request.QueryString["emp_id"];
}