句のパラメーターSQLに動的パラメーターの数を使用
値ごとのパラメーター化
この方法で生成されたコマンドには、動的生成された名前と値のパラメーターと値が含まれています。
<code class="language-sql">SELECT * FROM Tags WHERE Name IN ('ruby','rails','scruffy','rubyonrails') ORDER BY Count DESC</code>
安全上の注意
<code class="language-csharp">string[] tags = new string[] { "ruby", "rails", "scruffy", "rubyonrails" }; string cmdText = "SELECT * FROM Tags WHERE Name IN ({0})"; string[] paramNames = tags.Select((s, i) => "@tag" + i.ToString()).ToArray(); string inClause = string.Join(",", paramNames); using (SqlCommand cmd = new SqlCommand(string.Format(cmdText, inClause))) { for (int i = 0; i < tags.Length; i++) { cmd.Parameters.AddWithValue(paramNames[i], tags[i]); } // ... 执行查询 ... }</code>
以上が動的な引数を使用して SQL IN 句を安全にパラメータ化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。