0

C# で SQlite データベースを使用していますが、パラメーターにエラーの問題があります。

using System.Data.SQLite;

主なコード部分は次のとおりです。

            this.dbUpdateCommand = new SQLiteCommand();

            dbUpdateCommand.Parameters.AddWithValue("@paramNewValue", (string)this.valueNew);
            dbUpdateCommand.Parameters.AddWithValue("@paramPredValue", (string)this.valuePred);
            dbUpdateCommand.Parameters.AddWithValue("@paramTableName", (string) this.tableName);
            dbUpdateCommand.Parameters.AddWithValue("@paramColumnName", (string)this.columnInDB);
            dbUpdateCommand.Parameters.AddWithValue("@paramKeyField", (string)this.keyFieldInDB);
            dbUpdateCommand.Parameters.AddWithValue("@paramKeyValue", (string)this.keyValueInDB);

            dbUpdateCommand.CommandText = "UPDATE @paramTableName SET @paramColumnName=@paramNewValue WHERE @paramKeyField=@paramKeyValue;";

            dbUpdateCommand.ExecuteNonQuery();

そして、「「@paramTableName」付近のSQLiteエラー:構文エラー」という例外がスローされます

params なしで純粋な SQL ステートメントを作成しようとしましたが、文字列連結を使用して、同じ変数で動作します (this.tableName は有効な db テーブル名です)。誰か知ってる?

4

1 に答える 1