AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

C# DataGrid speichern in Datenbank

Ein Thema von Klarabella · begonnen am 19. Nov 2004 · letzter Beitrag vom 19. Nov 2004
Antwort Antwort
Klarabella

Registriert seit: 28. Sep 2004
59 Beiträge
 
#1

C# DataGrid speichern in Datenbank

  Alt 19. Nov 2004, 11:04
Hallo!

Ich habe in C#.NET ein DataGrid, das zu Anfang gefüllt wird, dann einen ganzen Haufen neuer Datensätze erhält und schließlich die Änderungen wieder in der Datenbank gespeichert werden sollen.

Das DataSet ist die gesamte Zeit mit dem DataGrid verbunden, sollte also alle Änderungen enthalten.

Aber WIE speicher ich nun die Änderungen im DataSet in der Datenbank???

Hab was in diese Richtung probiert:
Delphi-Quellcode:
private void abgleich_DB(DataSet DS)
{
SqlDataAdapter daAbgleichDB = new SqlDataAdapter();

string connStr = @"...";
SqlConnection conn = new SqlConnection(connStr);
conn.Open();
daAbgleichDB.Update(DS);
conn.Close();
}
funktioniert aber nix
Also es gibt keine Fehlermeldung, aber es wird auch nix in die Datenbank geschrieben.
Hat das irgendwer schon mal gemacht und kann mir sagen wie das geht?

Gruß, Klarabella
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#2

Re: C# DataGrid speichern in Datenbank

  Alt 19. Nov 2004, 20:15
Hallo Klarabella

Eine .Net DataTable verwaltet seine Rows mit Hilfe der Eigenschaft RowState.
Nur Rows mit einem Status != DataRowState.Unchanged und != DataRowState.Detached werden vom DataAdapter an seine DML-Commands weitergereicht.
Du kannst das ganz einfach so testen:

Code:
DataSet ChangedData = DeinDataSet.GetChanges();
if (ChangedData != null)
  DeinDataAdapter.Update(ChangedData);
Setze einen Break point in der 2. Zeile und schaue dir im Watch Window "ChangedData" an. Du wirst dort nur die DataTables und DataRows sehen, die geändert wurden.

Eine frisch selektierte Tabelle wird dort natürlich nicht auftauchen. Die Eigenschaft AcceptChangesDuringFill eines DataAdapters ist per default auf True -> alle Einträge erhalten bei einem Fill den Status DataRowState.Unchanged.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz