Mr. Tommes Geschrieben 10. Juni 2003 Geschrieben 10. Juni 2003 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 Zitieren
whisper Geschrieben 12. Juni 2003 Geschrieben 12. Juni 2003 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 Zitieren
Mr. Tommes Geschrieben 12. Juni 2003 Autor Geschrieben 12. Juni 2003 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 Zitieren
whisper Geschrieben 12. Juni 2003 Geschrieben 12. Juni 2003 Hm, auch eine Methode ) 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 ) Gruß, whisper Zitieren
Mr. Tommes Geschrieben 12. Juni 2003 Autor Geschrieben 12. Juni 2003 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 Zitieren
whisper Geschrieben 12. Juni 2003 Geschrieben 12. Juni 2003 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 Zitieren
Mr. Tommes Geschrieben 12. Juni 2003 Autor Geschrieben 12. Juni 2003 jep, sch..ss MS. Und Danke... Zitieren
Empfohlene Beiträge
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.