句に条件があるSQLite
場所のクエリを作成するときにSQLインジェクションを防ぐ方法を教えてもらえますか?WHERE
"myval IN (string_1, ... , string_n)"
注釈付きのコマンドテキストを動的に構築し、文字列リストからそれらの注釈のパラメーターを追加することについては考えました。もっと簡単な方法はありますか?
ありがとう。
句に条件があるSQLite
場所のクエリを作成するときにSQLインジェクションを防ぐ方法を教えてもらえますか?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())
{
}
}
}