Heim >Datenbank >MySQL-Tutorial >Wie verwende ich SQL-Parameter mit einer IN-Klausel und einer Liste von Zeichenfolgen?

Wie verwende ich SQL-Parameter mit einer IN-Klausel und einer Liste von Zeichenfolgen?

Linda Hamilton
Linda HamiltonOriginal
2025-01-03 14:28:39477Durchsuche

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

Durchführen einer IN-Abfrage mit einer Liste von Zeichenfolgen mithilfe von SQL-Parametern

Ihr Code versucht, eine IN-Anweisung mithilfe einer Liste auszuführen. als Parameter für den SQL-Parameter @settings. Dieser Ansatz ist jedoch nicht gültig, da für die Bindung ein unterstützter Datentyp erforderlich ist.

Um eine IN-Abfrage mit einer Liste von Zeichenfolgen auszuführen, können Sie die folgenden Schritte ausführen:

  1. Erstellen Sie eine Zeichenfolgenabfragevorlage: Erstellen Sie eine Zeichenfolgenabfrage, die Platzhalter für jedes Element in der Liste enthält. Beispiel:
string sql = "SELECT dscr FROM system_settings WHERE setting IN ({0})";
  1. Konvertieren Sie die Liste in ein Array von Parametern: Erstellen Sie ein Array von Parameternamen, wobei jeder Name einem Platzhalter in der Abfrage entspricht Vorlage.
string[] paramArray = settingList.Select((x, i) => "@settings" + i).ToArray();
  1. Formatieren Sie die Abfrage: Ersetzen Sie die Platzhalter in die Abfragevorlage mit den Parameternamen.
cmd.CommandText = string.Format(sql, string.Join(",", paramArray));
  1. Fügen Sie die Parameter zum Befehl hinzu: Erstellen Sie einen SqlParameter und fügen Sie ihn für jedes Element in der Liste hinzu, indem Sie verwenden entsprechender Parametername und -wert.
for (int i = 0; i < settingList.Count; ++i)
{
    cmd.Parameters.Add(new SqlParameter("@settings" + i, settingList[i]));
}

Durch Befolgen dieser Schritte können Sie sicher eine IN-Abfrage mit einer Liste von Zeichenfolgen durchführen SqlCommand-Parameter. Bei diesem Ansatz wird für jede Zeichenfolge in der Liste ein benutzerdefinierter Parametername erstellt und der entsprechende Datentyp für den SqlParameter angegeben.

Das obige ist der detaillierte Inhalt vonWie verwende ich SQL-Parameter mit einer IN-Klausel und einer Liste von Zeichenfolgen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn