SQL IN-Anweisung mit SqlParameter und List
Beim Versuch, eine IN-Anweisung mit einem SqlParameter unter Verwendung einer List
Konvertieren Sie die Liste in ein Array:
Konvertieren Sie die Liste
string[] paramArray = settingList.ToArray();
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)));
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])); }
Fügen Sie den Befehl aus Befehl:
Führen Sie den Befehl aus als üblich:
reader = cmd.ExecuteReader();
Dieser Ansatz bietet eine sichere und effiziente Möglichkeit, eine IN-Anweisung mit einem List
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!