[英]invalid column value in where clause in sql server
我有一个函数,可以用表的内容填充数据表。 但是它显示了一个令人讨厌的无效列名错误,并带有我在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;
}
现在有了这个我在错误
sAdap.fill
错误是
invalid column name P001
我为此感到难过。 有什么想法为什么我要面对这个问题吗?
如果它是字符串常量,请用单引号将其引起来。 'P001'或更好,对其进行归类。
您需要在值周围使用字符串定界符。 将行更改为:
sqlcmd.CommandText = "Select * from requests Where emp_id='P001'";
用P001周围的单引号引起来,您应该会很好。
您需要使用单引号。
where emp_id='P001'
看来您的P001数据是字符串类型。 在将其作为sql字符串输入之前,请尝试用单引号将其引起来。
sqlcmd.CommandText = "Select * from requests Where emp_id='P001'";
如果那不起作用(尽管应该),则可以尝试如下所示的like语句:
sqlcmd.CommandText = "Select * from requests Where emp_id like 'P001'";
您需要用单引号括住(显然)文本条件:
sqlcmd.CommandText = "Select * from requests Where emp_id = 'P001'";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.