0

句に条件があるSQLite場所のクエリを作成するときにSQLインジェクションを防ぐ方法を教えてもらえますか?WHERE"myval IN (string_1, ... , string_n)"

注釈付きのコマンドテキストを動的に構築し、文字列リストからそれらの注釈のパラメーターを追加することについては考えました。もっと簡単な方法はありますか?

ありがとう。

4

1 に答える 1

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

        }
    }
}
于 2010-01-22T10:25:27.810 に答える