[MySQL Connector] Problem mit WHERE ... IN (...) und Parametern

CPoly

Mitglied Weizenbier
Hi,

Ich arbeite mit C# und dem MySql .NET Connector. Ich möchte eine UPDATE der Form
SQL:
UPDATE tabelle SET spalte=1 WHERE id IN (1,5,6,24,2)

Ich nutze Parameter und weis nicht wie ich jetzt die Liste der ids übergeben bekomme. Mein query sieht folgendermaßen aus.
SQL:
UPDATE tabelle SET spalte=?wert WHERE id IN (?liste)

So wie es dort steht, kann es nicht funktionieren, weil der Parameter "?liste" dann als ein String gesehen wird.
Also wie mache ich es korrekt?

Zur Vollständigkeit:
C#:
MySqlCommand myCommand = myConnection.CreateCommand();

myCommand.CommandText = "UPDATE tabelle SET spalte=?wert WHERE id IN (?liste);";

myCommand.Parameters.AddWithValue("?wert", variable);

myCommand.Parameters.AddWithValue("?liste", ...);//<---Was muss hier hin?

myCommand.ExecuteNonQuery();
 
Ich wollte jetzt an der Stelle weitermachen und habe noch immer keine Lösung. Ich werde es dann vorerst so machen, dass ich an der Stelle "?liste" keinen Parameter nutze, sondern die Werte direkt in das Query setzte.
C#:
String.Format(
    "UPDATE tabelle SET wert=?wert WHERE id IN ({0});",
    String.Join(",",list.ToArray()))
 

Neue Beiträge

Zurück