如何:使用UPDATE / WHERE命令的SQLite参数

时间:2011-01-05 01:05:43

标签: c# winforms sqlite

我正在编写我的第一个数据库应用程序。它是一个带有SQLite数据库的C#WinForms应用程序。

我正在尝试编写一个SQLite查询,该查询使用带有UPDATE / WHERE命令的参数而不是INSERT命令,这是您通常看到的。

这是我用作模板的链接。请参见清单14-2。

http://en.csharp-online.net/ASP.NET_Security_Hacks%E2%80%94Avoiding_SQL_Injection

有人可以提供一些有关如何更改链接中的查询以使用UPDATE / WHERE语句而不是INSERT语句的信息吗?

2 个答案:

答案 0 :(得分:0)

也许您可以使用SQLiteDataAdapter更新功能更新数据库。

cmdSQLite = new SQLiteCommand("SELECT * FROM TableName", connectionSQLite);
   daSQLite = new SQLiteDataAdapter();
   daSQLite.SelectCommand = cmdSQLite;
   dsSQLite = new DataSet();               
   daSQLite.Fill(dsSQLite, "TableName");
   dsSQLite.Tables["TableName"].Rows[NumberOfRowToChange]["ColumnName"] = somevalue;
   //...
   daSQLite.Update(dsSQLite, "TableName");

答案 1 :(得分:-1)

那篇文章只是指出你要将查询作为参数化查询编写,以避免sql注入攻击。因此,查询逻辑与您通常编写的相同,但不是使用字符串连接将动态值放在您使用遵循语法“@someVariableName”的变量,然后将您的动态值作为参数添加到sqlCommand对象上。 / p>

以下是有关如何为SQLite执行此操作的链接:Parameterized Queries

编辑:因为旧的参考资料已经死亡,不得不为这个答案找到新的参考资料。