谁能告诉我一个方法来防止SQL注入用于建立查询时SQLite
,其中WHERE
子句的"myval IN (string_1, ... , string_n)"
条件?
我想通过注释动态构建命令文本,并从字符串列表中添加这些注释的参数.有没有更简单的方法 ?
谢谢.
不,没有更简单的方法.不要列出危险字符.只需使用带参数的命令.
using (var conn = new SQLiteconnection(connectionString)) using (var command = conn.CreateCommand()) { conn.Open(); command.CommandText = "select name from persons where id = @id"; command.Parameters.AddWithValue("@id", 5); using (var reader = command.ExecuteReader()) { while (reader.Read()) { } } }