我正在尝试将列名放入变量中,然后我在 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.
单引号在这里不起作用,但我建议在列名前后加上方括号,而不是什么都不加,以防列名包含空格或特殊字符:
string sql="select ["+s+"] from table_name where name='abhk'";
它应该是string sql = "select "+s+" from table_name where name='abhk'";
列名,不能也不应该是包含在single quotes
试试这样;
string sql = "select ID from table_name where name='abhk'";
问题是您的查询使用您当前的逻辑如下所示:
select 'ID' from table_name where name = 'abhk'
您需要将您的 sql 字符串更改为:
string sql="select " + s + " from table_name where name='abhk'";
但是,这有点小题大做。