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 に答える