Ich versuche, eine foreach-Schleife zu verwenden, um jedes Kontrollkästchen in meiner MySQL-Datenbank zu aktualisieren. DieseC# Foreach-Schleife mit mySQL-Befehlsparameter
ist, was ich habe:
string Query = "update agenda.exercises set @checkboxname='1' where Date='" + currentDate + "';";
Mit cmd param: MyCommand2.Parameters.AddWithValue("@checkboxname", isTenured);
Wenn ich den Befehl param und es in normalen Text zu entfernen, es funktioniert. Wenn ich versuche, den Befehl param als Text zu verwenden, funktioniert es nicht.
Hier ist mein vollständiger Code:
foreach (DataColumn dc in allCheckboxes.Columns)
{
MessageBox.Show(dc.ToString());
//var field1 = dtRow[dc].ToString();
string Query = "update agenda.exercises set @checkboxname='1' where Date='" + currentDate + "';";
MySqlConnection MyConn2 = new MySqlConnection(MyConnection2);
MySqlCommand MyCommand2 = new MySqlCommand(Query, MyConn2);
MyCommand2.Parameters.AddWithValue("@checkboxname", dc.ToString());
MySqlDataReader MyReader2;
MyConn2.Open();
MyReader2 = MyCommand2.ExecuteReader();
while (MyReader2.Read())
{
}
MyConn2.Close();
}
Kann mir jemand sagen, was ich falsch mache?
Sie können 'SqlParameter' nicht für Spaltennamen verwenden – Fabio
Parameter sind für Werte, nicht für Spaltennamen. Deshalb funktioniert Ihr Klartext " – Takarii