0

パラメータを使用して文字のエスケープを回避する方法の例をいくつか見てきました。パラメータの使用はSQLインジェクションに対して100%安全ですか?

また、いくつかの基本的なクエリ(定期的に使用されます)と、パラメーターの実装方法を教えてください。

ここに来る前に検索したいくつかのウェブサイトは、あまりにも複雑な例を提供していました。

4

2 に答える 2

2

パラメータ化された SQL クエリの基本的な例は次のとおりです。

SqlCommand command = new SqlCommand(@"select city from users where username = @username", conn);
SqlParameter param = new SqlParameter();
param.ParameterName = "@username";
param.Value = "abc123"
command.Parameters.Add(param);

connは、確立した SqlConnection です。

@usernameコマンドの実行時に置換されるパラメーター名です。

abc123は、私が例に挙げた作成済みのユーザー名です。

これは明らかに架空のシナリオですが、要点はわかります。

于 2012-04-22T17:06:36.587 に答える
0

短いバージョンとして使用できます

SqlCommand command = new SqlCommand(@"select city from users where username = @username", conn);
command.Parameters.AddWithValue("@username", "value");
于 2012-04-22T17:19:21.247 に答える