ホームページ >データベース >mysql チュートリアル >IN 句と文字列のリストで SQL パラメータを使用する方法

IN 句と文字列のリストで SQL パラメータを使用する方法

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-03 14:28:39476ブラウズ

How to Use SQL Parameters with an IN Clause and a List of Strings?

SQL パラメータを使用した文字列のリストによる IN クエリの実行

コードは、List を使用して IN ステートメントを実行しようとしています。 @settings SQL パラメータのパラメータとして。ただし、このアプローチは、バインディングにサポートされているデータ型が必要なため無効です。

文字列のリストを使用して IN クエリを実行するには、次の手順に従います。

  1. 文字列クエリ テンプレートを作成します: リスト内の各要素のプレースホルダーを含む文字列クエリを作成します。例:
string sql = "SELECT dscr FROM system_settings WHERE setting IN ({0})";
  1. リストをパラメーターの配列に変換します: パラメーター名の配列を作成します。各名前はクエリ内のプレースホルダーに対応します。テンプレート。
string[] paramArray = settingList.Select((x, i) => "@settings" + i).ToArray();
  1. をフォーマットしますquery: クエリ テンプレート内のプレースホルダーをパラメーター名に置き換えます。
cmd.CommandText = string.Format(sql, string.Join(",", paramArray));
  1. コマンドにパラメーターを追加します: SqlParameter を作成して追加しますリスト内の各要素に対して、対応するパラメータ名とvalue.
for (int i = 0; i < settingList.Count; ++i)
{
    cmd.Parameters.Add(new SqlParameter("@settings" + i, settingList[i]));
}

これらの手順に従うと、SqlCommand パラメーターを使用して文字列のリストで IN クエリを安全に実行できます。このアプローチには、リスト内の各文字列のカスタム パラメーター名を作成し、SqlParameter に適切なデータ型を指定することが含まれます。

以上がIN 句と文字列のリストで SQL パラメータを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。