Daten werden nicht geschrieben

30/09/2007 - 15:32 von Michael Moll | Report spam
Hallo an die Experten,

ich habe ein Problem. Mein Programm soll Daten aus einer MDB auslesen und
anschließend den ausgelesenen Datensatz markieren. Auslesen klappt,
markieren nicht :-((
Hier ein Stück Code:

IT_GarantieDataSet iT_GarantieDataSet = new IT_GarantieDataSet();

IT_GarantieDataSetTableAdapters.ClaimHeaderTableAdapter
claimHeaderTableAdapter = new
InfotipGarantie.IT_GarantieDataSetTableAdapters.ClaimHeaderTableAdapter();

IT_GarantieDataSetTableAdapters.ClaimPartsTableAdapter
claimPartsTableAdapter = new
InfotipGarantie.IT_GarantieDataSetTableAdapters.ClaimPartsTableAdapter();

claimHeaderTableAdapter.Fill(iT_GarantieDataSet.ClaimHeader);

claimPartsTableAdapter.Fill(iT_GarantieDataSet.ClaimParts);

// nun werden die Daten gelesen (Schleife, Zeile für Zeile)

foreach (DataRow row in iT_GarantieDataSet.ClaimHeader.Rows)

{

// lese. lese. lese

row["Exported"] = true;

}

iT_GarantieDataSet.ClaimHeader.AcceptChanges();

claimHeaderTableAdapter.Update(iT_GarantieDataSet.ClaimHeader);



Und dann ist die Prozedur zu Ende. Ich bekomme keine Fehlermeldungen. Das
Dataset sagt, es hàtte keine Änderungen mehr (nach dem Update). Jedoch sehe
ich in der zu Grunde liegenden MDB keine Änderungen..

Wo stehe ich auf dem Schlauch?



Gruß



Micha
 

Lesen sie die antworten

#1 Peter Fleischer
30/09/2007 - 17:44 | Warnen spam
Michael Moll wrote:

ich habe ein Problem. Mein Programm soll Daten aus einer MDB auslesen
und anschließend den ausgelesenen Datensatz markieren. Auslesen
klappt, markieren nicht :-((
Hier ein Stück Code:

IT_GarantieDataSet iT_GarantieDataSet = new IT_GarantieDataSet();

IT_GarantieDataSetTableAdapters.ClaimHeaderTableAdapter
claimHeaderTableAdapter = new
InfotipGarantie.IT_GarantieDataSetTableAdapters.ClaimHeaderTableAdapter();

IT_GarantieDataSetTableAdapters.ClaimPartsTableAdapter
claimPartsTableAdapter = new
InfotipGarantie.IT_GarantieDataSetTableAdapters.ClaimPartsTableAdapter();

claimHeaderTableAdapter.Fill(iT_GarantieDataSet.ClaimHeader);

claimPartsTableAdapter.Fill(iT_GarantieDataSet.ClaimParts);

// nun werden die Daten gelesen (Schleife, Zeile für Zeile)

foreach (DataRow row in iT_GarantieDataSet.ClaimHeader.Rows)

{

// lese. lese. lese

row["Exported"] = true;

}

iT_GarantieDataSet.ClaimHeader.AcceptChanges();



Hi Michael,
damit teilst du ADO.NET mit, dass du alle Änderungen akzeptiert hast und
dass diese Änderungen sofort die Originalwerte im Client repràsentieren.

claimHeaderTableAdapter.Update(iT_GarantieDataSet.ClaimHeader);



Wenn der Befehl sofort nach AcceptChanges folgt, kann der DataAdpater keine
neuen, geànderten oder gelöschten Datensàtze mehr kennen, da vorher mit
AcceptChanges alles als Originalwert (ungeàndert) gekennzeichnet bzw.
entfernt wurde.

Und dann ist die Prozedur zu Ende. Ich bekomme keine Fehlermeldungen.
Das Dataset sagt, es hàtte keine Änderungen mehr (nach dem Update).



Richtig, auch bereits nach AcceptChanges, da du damit alle Änderungen als
abgeschlossen/übernommen gekennzeichnet hast.

Jedoch sehe ich in der zu Grunde liegenden MDB keine Änderungen..

Wo stehe ich auf dem Schlauch?



Prüfe mal deinen Ablauf und die Richtigkeit von AcceptChanges. Vielleicht
wird da ein Programmzweig falsch durchlaufen und AcceptChanges an der
falschen Stelle aufgerufen.

Viele Grüße

Peter

Ähnliche fragen