Zum Inhalt springen

C# : Bearbeiten eines Datensatzes in einem DataSet


Mr. Tommes

Empfohlene Beiträge

Hallo zusammen,

kann mir jemand bei folgendem Problem helfen:

Habe ein DataSet aus einer XML-Datei ausgelesen.

testDataSet = new DataSet();

testDataSet.ReadXml(AdresseDerXmlDatei);

Will jetzt einzelne Zellen bearbeiten und dann aktualisieren und wieder in die XML-Datei abspeichern.

testDataSet.Tables[0].Rows[0].BeginEdit();

Zuweisung des neuen Inhaltes:

testDataSet.Tables[0].Rows[0].ItemArray[1] = "test";

testDataSet.Tables[0].Rows[0].AcceptChanges();

testDataSet.Tables[0].Rows.EndEdit();

Überprüfung der Änderung:

string hallo = testDataSet.Tables[0].Rows[0].ItemArray[1].ToString();

Schreiben der XML-Datei:

testDataSet.WriteXml(AdresseDerXmlDatei);

Problem: der string hallo zeigt immer noch die alten Daten an und nicht "test".

Änderungen werden nicht akzeptiert.

Kann mir jemand sagen was ich falsch mache??

Mr. Tommes

Link zu diesem Kommentar
Auf anderen Seiten teilen

Halllo auch,

ich bin mir nicht ganz sicher, da ich in dieser Form mit einem DataSet noch nicht gearbeitet habe, aber ich denke, dein Problem ist der ItemArray.

Probiere statt

testDataSet.Tables[0].Rows[0].ItemArray[1] = "test";
mal folgendes:
testDataSet.Tables[0].Rows[0].Item[x] = "test";

"x" ist hierbei der nullbasierende Feldindex.

Theoretisch würdest du so von dem ersten Datensatz ("Rows[0]") das x-te Feld verändern.

Gruß,

whisper

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

danke für den Tipp, jedoch kann ich kein Item ansprechen. Nur das ItemArray.

Habe das Problem jetzt auf andere Weise gelöst.

Habe eine neue leere Reihe in dem Dataset erzeugt und belege die einzelnen

ItemArrays neu. Das klappt. Danach entferne ich die zu ändernde Reihe und

ersetze diese dann durch die neue Reihe mit den geänderten Werten an dieser

Stelle. Das klappt dann.

Mr. Tommes

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hm, auch eine Methode :o)

Wundert mich allerdings, das du kein Item zur Verfügung hast - hab hier ebenso Visual Studio.NET und dort ist die Eigenschaft enthalten.

Eventuell liegt's an der .NET Framework-Version (ich habe hier 1.1 drauf), aber das wage ich zu bezweifeln. Soweit ich mich erinnern kann, gibt's von MS auch ein Update für die Datenzugriffs-Komponenten von .NET, aber es kann sein, das ich da grad was durcheinanderbringe.

Auf jeden Fall ist gut, das es jetzt funktioniert :o)

Gruß,

whisper

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

habe grad mal nachgeguckt, habe das Framework 1.0.3705 installiert und soweit

mir bekannt ist wurde noch nie ein Update eingespielt. Ich weiss, dass man bei VB

das Item ansprechen kann, bei C# steht jedoch auch in der Hilfe, dass man das mit

dem ItemArray macht. Jedoch steht da auch bei "Datensätze ändern" folgendes:

dataset1.Tables[0].Rows[4].ItemArray[0] = "wingtip Toys"

Damit sollte es klappen (laut Visual Studio .Net Hilfe) !

Tut es nur leider nicht...

Noch was anderes: hast du nen Link, wo ich das aktuelle Framework runterladen

kann ?

Mr. Tommes

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hm, somit hat sich herausgestellt, das die Entwicklung unter verschiedenen Sprachen, obwohl alle auf das Framework aufsetzen, doch nicht ganz so konsistent ist, wie erwartet.

Microsoft halt *hüstel* :]

Hier der Link zum Framework:

http://www.microsoft.com/downloads/details.aspx?displaylang=de&FamilyID=262d25e3-f589-4842-8157-034d1e7cf3a3

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...