SQLite注入字符串列表

the*_*ost 0 c# sqlite annotations code-injection

谁能告诉我一个方法来防止SQL注入用于建立查询时SQLite,其中WHERE子句的"myval IN (string_1, ... , string_n)"条件?

我想通过注释动态构建命令文本,并从字符串列表中添加这些注释的参数.有没有更简单的方法 ?

谢谢.

Dar*_*rov 5

不,没有更简单的方法.不要列出危险字符.只需使用带参数的命令.

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())
        {

        }
    }
}
Run Code Online (Sandbox Code Playgroud)