c# sqlite 参数化
时间: 2023-09-03 20:15:58 浏览: 77
在 C# 中使用 SQLite 数据库时,参数化查询是一种重要的技术,可以有效地防止 SQL 注入攻击,并提高查询性能。下面是使用参数化查询的示例代码:
```csharp
using System.Data.SQLite;
// 创建连接对象
using (var connection = new SQLiteConnection("Data Source=mydatabase.db;Version=3;"))
{
connection.Open();
// 创建命令对象
using (var command = new SQLiteCommand(connection))
{
// 设置 SQL 查询语句,使用参数占位符(如:@param1)
command.CommandText = "SELECT * FROM MyTable WHERE Column1 = @param1";
// 创建参数对象并设置参数值
command.Parameters.AddWithValue("@param1", "someValue");
// 执行查询
using (var reader = command.ExecuteReader())
{
while (reader.Read())
{
// 处理查询结果
}
}
}
}
```
在上面的示例中,通过使用参数占位符 "@param1",我们可以将参数值安全地传递到查询中。这样可以防止恶意用户通过输入特殊字符来破坏 SQL 语句的结构,从而防止 SQL 注入攻击。
请注意,SQLite 提供了多种类型的参数对象,如 `SQLiteParameter`、`SQLiteParameterCollection` 等,可以根据具体需求选择使用。
希望这个示例对你有帮助!如果你还有其他问题,请随时提问。