verwendetes Datenbanksystem: MSSQL 2005
Hi Leute,
Ich bin sicher, hier kann mir einer der Profis helfen. Ich benutze VS 2005 und wie oben schon erwähnt MSSQL 2005.
Nun hab ich folgendes. Ich hab mir in mein WinForm ein DataGridView gesetzt und die DataSource in den Properties auf eine Tabelle der SQL Datenbank gesetzt. So dass ganz einfach meine Tabelle im DataGridView wiedergegeben wird. Dies funktionniert auch einwandfrei.
Nun suche ich noch eine einfache Lösung um immer nach dem Event CellLeave automatisch die geänderten Werte aus dem DataGridView in die Tabelle der Datenbank zu schreiben. Also zu aktualisieren. Ich dachte am Anfang, das gehe automatisch, aber leider ist das ja nicht der Fall.
Ich will also, immer wenn ich einen Wert ändere und zB auf Enter drücke, dass dieser Wert dann auch in der Datenbank gesetzt wird.
Ich wäre froh wenn ihr mir dabei helfen könntet. Und bitte nicht in Rätsel schreiben 😉.
Vielen Dank
Hier ist nen code der das macht. Ist zwar vb. ds ist das DataSet was mit dem datagridView verbunden ist
Das musste halt dan auf c# umbauen und auf den sqlserver
Dim daadapter2 As OleDbDataAdapter = New OleDbDataAdapter()
daadapter2.SelectCommand = New OleDbCommand("Select * from " + acctblname, acon)
Dim custcb As OleDbCommandBuilder = New OleDbCommandBuilder(daadapter2)
daadapter2.Update(ds)
Also irgenwie funzt das net bei mir. Oder ich mach da etwas falsch...
Hier is mein Code:
private void dgvManualImport_CellLeave(object sender, DataGridViewCellEventArgs e)
{
SqlDataAdapter da2 = new SqlDataAdapter();
da2.SelectCommand = new SqlCommand("Select * from MANUAL_IMPORT_TRANS", N_SYPGA_conn);
SqlCommandBuilder cb = new SqlCommandBuilder(da2);
da2.Update(dsManualImport_frmManualImport.MANUAL_IMPORT_TRANS);
}
Hab das also so übernommen wie du gesagt hast, nur noch auf SQLServer und C# umgewandelt. Es tut sich jedoch nix. Keine Fehlermeldung. Er speichert es nur nicht.
hmm,
les dir das mal durch:
http://msdn2.microsoft.com/de-de/library/system.data.common.dataadapter.update(VS.80).aspx
und prüfe mal den rowstate der datensätze nach ob der korrekt ist
Edit:
dsManualImport_frmManualImport.MANUAL_IMPORT_TRANS
ist das das dataset das mit dem datagridview verknüft ist, also das dataset aus dem sich das datagridview die daten holt, weil das musst du im updatebefehl angeben
Genau, das ist das dataset. Im DataGridView wird einfach alles aus der Tabelle MANUAL_IMPORT_TRANS ausgegeben.