Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Update einer Tabelle über das DataGridView
|SmEaGoL|
myCSharp.de - Member



Dabei seit:
Beiträge: 24
Herkunft: Luxemburg

Themenstarter:

Update einer Tabelle über das DataGridView

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
zerberos
myCSharp.de - Member



Dabei seit:
Beiträge: 520

beantworten | zitieren | melden

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)
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von zerberos am .
private Nachricht | Beiträge des Benutzers
|SmEaGoL|
myCSharp.de - Member



Dabei seit:
Beiträge: 24
Herkunft: Luxemburg

Themenstarter:

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
zerberos
myCSharp.de - Member



Dabei seit:
Beiträge: 520

beantworten | zitieren | melden

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
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von zerberos am .
private Nachricht | Beiträge des Benutzers
|SmEaGoL|
myCSharp.de - Member



Dabei seit:
Beiträge: 24
Herkunft: Luxemburg

Themenstarter:

beantworten | zitieren | melden

Genau, das ist das dataset. Im DataGridView wird einfach alles aus der Tabelle MANUAL_IMPORT_TRANS ausgegeben.
private Nachricht | Beiträge des Benutzers