DataGrid und MySQL DB - Update


eltir

Grünschnabel
Hi Leute!
Ich habe ein DataGrid auf meinem Formular dieses binde ich so an eine MYSQL DB:

myDataAdapter.Fill(myDataSet);
dataGrid1.DataSource = myDataSet.Tables[0];

Nun möchte ich Änderungen die im DataGrid1 geschehen über eine Button abspeichern:

myConnection.Open();
myDataAdapter.Update(myDataSet);
myConnection.Close();

Leider das nicht so es kommt immer der Fehler:
Eine nicht behandelte Ausnahme des Typs 'System.InvalidOperationException' ist in system.data.dll aufgetreten.
Zusätzliche Informationen: Aktualisieren erfordert einen gültigen UpdateCommand, wenn eine DataRow-Auflistung mit modifizierten Zeilen weitergegeben wird.

Kann mir hier jemand bitte weiter helfen!
DANKE
 

anstoss2

Grünschnabel
hallo eltir,
die lösung steht bereits in der Fehlermeldung drin. Du musst er einen Updatecommand angeben, also ein SQL-Update-Statement.
du musst ein neues commandobjekt erzeugen, in welchem du im commandtext dein Update-statement angibst.
dieses updatecommand-objekt weist du dann deinem dataadapter unter .updatecommand zu.

Hier habe ich aber selbst eine fragen an die Gemeinde:
Ich lese meine Daten in ein Datagrid aus, dort werden die Daten auch korrekt angezeigt. wenn ich nun im Datagrid etwas ändere möchte ich diese Änderung an die Datenbank weitergeben.
Jetzt weis ich nicht wie die set-anweisung des updatecommandos aussehen soll.

sqlUpdate = "update muenzstatus set MAnzahl = 1;"

damit setze ich alle werte der einen spalte auf 1. Aber natürlich sollen die Werte entsprechend der Datatable in die Datenbank geschrieben werden. Weis jemand ein gutes Tutorial hierfür oder kann mir jemand kurz erklären wie die anweisung aussehen muss damit er selbstständig jedem datensatz den richtigen wert zuordnet? wahrscheinlich müsste in meinem obigen beispiel statt "MAnzahl = 1" "MAnzahl = Variable" stehen.
 

tombo82

Mitglied
Hallo eltir,

Hast du den Codeschnipsel vom "aktualisieren Button" da?
Hab das gleiche Problem und könnte mal n Denkanstoss brauchen....