0

我正在尝试将列名放入变量中,然后我在 sql 查询中使用此字符串:

string s="ID";

string sql="select '"+s+"' from table_name where name='abhk'";

cmd=new SqlCommand(sql_pics, con);

cmd.ExecuteNonQuery();

它说 ID 附近有不正确的语法错误ID is column name.

4

4 回答 4

0

单引号在这里不起作用,但我建议在列名前后加上方括号,而不是什么都不加,以防列名包含空格或特殊字符:

string sql="select ["+s+"] from table_name where name='abhk'";
于 2013-01-20T11:53:24.257 回答
0

它应该是string sql = "select "+s+" from table_name where name='abhk'";列名,不能也不应该是包含在single quotes

于 2013-01-20T11:40:23.080 回答
0

试试这样;

string sql = "select ID from table_name where name='abhk'";
于 2013-01-20T11:40:23.967 回答
0

问题是您的查询使用您当前的逻辑如下所示:

select 'ID' from table_name where name = 'abhk'

您需要将您的 sql 字符串更改为:

string sql="select " + s + " from table_name where name='abhk'";

但是,这有点小题大做。

于 2013-01-20T11:40:42.580 回答