繁体   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