c# System.Data.SQLite 参数错误

本文关键字:参数 错误 SQLite Data System | 更新日期: 2023-09-27 18:36:46

>我在 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 是有效的数据库表名)所以我的参数似乎有问题。有人知道吗?

c# System.Data.SQLite 参数错误

不能使用参数来引用对象(表和列)。 您需要将实际的表名和列名放到查询中。 这样做时要小心 SQL 注入。