簡體   English   中英

C#System.Data.SQLite參數錯誤

[英]c# System.Data.SQLite parameters error

我在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錯誤:語法錯誤”

我試圖制作不帶參數但帶有字符串連接的純SQL語句,並且它使用相同的變量(this.tableName是有效的db表名),因此我的參數似乎有問題。 有人知道嗎?

您不能使用參數來引用對象(表和列)。 您需要將實際的表名和列名放入查詢中。 這樣做時請注意SQL注入。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM