sql server中where子句中的列值无效

swo*_*ish 1 sql asp.net sql-server-2008

我有一个函数,可以使用表的内容填充数据表.但它在WHERE子句中显示了一个恼人的无效列名错误.

public static DataTable GetRequests(string empid)
{
   DataTable dt = new DataTable();
   string strConnection = ConfigurationManager.AppSettings["connStr"];
   using (SqlConnection connection = new SqlConnection(strConnection))
   {
      connection.Open();
      SqlCommand sqlcmd = new SqlCommand();
      SqlDataAdapter sAdap = new SqlDataAdapter();                
      sqlcmd.Connection = connection;
      sqlcmd.CommandType = System.Data.CommandType.Text;
      sqlcmd.CommandText = "Select * from requests Where emp_id=P001";                
      sAdap.SelectCommand = sqlcmd;
      sAdap.Fill(dt);
   }
   return dt;            
}
Run Code Online (Sandbox Code Playgroud)

现在,我得到了错误

sAdap.fill
Run Code Online (Sandbox Code Playgroud)

而错误是

invalid column name P001
Run Code Online (Sandbox Code Playgroud)

我很难过.有什么想法我为什么要面对这个问题?

小智 5

如果它是一个字符串常量,用单引号括起来.'P001'或者更好,它会使它顺畅.