Heim > Datenbank > MySQL-Tutorial > Wie verwende ich die IN-Anweisung von SQL sicher mit SqlParameter und einer Liste?

Wie verwende ich die IN-Anweisung von SQL sicher mit SqlParameter und einer Liste?

Susan Sarandon
Freigeben: 2024-12-20 03:39:12
Original
570 Leute haben es durchsucht

How to Safely Use SQL's IN Statement with SqlParameter and a List?

SQL IN-Anweisung mit SqlParameter und List

Beim Versuch, eine IN-Anweisung mit einem SqlParameter unter Verwendung einer List , kann eine ArgumentException auftreten, weil die Liste nicht einem bekannten Anbietertyp zugeordnet werden kann. Dieses Problem kann durch den folgenden Ansatz gelöst werden:

  1. Konvertieren Sie die Liste in ein Array:
    Konvertieren Sie die Liste zu einem Array von Zeichenfolgen, wie zum Beispiel:

    string[] paramArray = settingList.ToArray();
    Nach dem Login kopieren
  2. Formatieren Sie die SQL-Anweisung:
    Formatieren Sie die SQL-Anweisung mit einem Platzhalter für jeden Parameter, indem Sie die Anzahl der Parameter im Array:

    string sql = "SELECT dscr FROM system_settings WHERE setting IN ({0})";
    sql = string.Format(sql, string.Join(",", paramArray.Select((x, i) => "@settings" + i)));
    Nach dem Login kopieren
  3. Hinzufügen Parameter:
    Fügen Sie für jedes Element im Array einen SqlParameter zum Befehlsobjekt hinzu und verwenden Sie dabei den entsprechenden Namen und Wert:

    for (int i = 0; i < settingList.Count; ++i)
    {
        cmd.Parameters.Add(new SqlParameter("@settings" + i, settingList[i]));
    }
    Nach dem Login kopieren
  4. Fügen Sie den Befehl aus Befehl:
    Führen Sie den Befehl aus als üblich:

    reader = cmd.ExecuteReader();
    Nach dem Login kopieren

Dieser Ansatz bietet eine sichere und effiziente Möglichkeit, eine IN-Anweisung mit einem List auszuführen. mit SQLParametern.

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

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage