私は列名を変数に入れようとしていますが、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'";
ただし、これはちょっとしたハックです。