0

では、最後の 2 行が機能しないのに、コメント アウトされた機能が機能する理由を誰か教えてもらえますか? コンパクトなフレームワーク c# を使用して、sqlite データベースから行を返しています。

            //String sqlcomm = "SELECT * FROM Asset WHERE " + assetColName + " = \'" + assetColValue + "\'";
            //command.CommandText = sqlcomm;
            command.CommandText = @"SELECT * FROM Asset WHERE $assetColName = '$assetColValue'";
            command.Parameters.AddWithValue("$assetColName", assetColName);
            command.Parameters.AddWithValue("$assetColValue", assetColValue);
4

3 に答える 3

1

通常、列名をパラメータ化することはできません。コメントアウトされた行に従って列名を入力して、列値のパラメーターを使用してコマンドテキストを作成してみてください。

于 2013-09-25T00:13:32.667 に答える
0

INFORMATION_SCHEMA テーブルを使用して、列が存在するかどうかをいつでも確認できます。

INFORMATION_SCHEMA の使用法: http://blog.sqlauthority.com/2011/10/02/sql-server-ce-list-of-information_schema-system-tables/

TSQL の例: SQL Server テーブルに列が存在するかどうかを確認する方法

于 2013-09-26T10:24:16.447 に答える