Dataset vorhandenen Eintrag aktualisieren.

  • .NET (FX) 4.5–4.8
  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von tragl.

    Dataset vorhandenen Eintrag aktualisieren.

    Servus,

    ich hab mich schlau gelesen, habe aber leider nur lösungen für eine Access-Datenbank oder einer MySQL- Datenbank gefunden.
    Wie schaffe ich es in einem Dataset, sobald ein Datensatz vorhanden ist, diese zu aktualisieren, ohne die ganze Row zu löschen?

    Wenn ich ja die komplette Row lösche, dann lösch ich auch meine ID Spalte mit und bekomme eine neue ID für das neue Row mitgeteilt. Ist ja logisch.

    Aber ich muss die alte ID beibehalten, damit ich meine Relation beibehalten kann. GIbt es da einen Trick, wo ich nur sagen muss das ist MeinDataset1.MeineTabelleRow (alt) und das ist meine neue MeineTabelleRow. Vergleich die beiden und übernehme bei ungleich die neuere. So dürfe ja dann die ID weiterhin erhalten bleiben.

    Aber ich finde leider keine Funktion, die sowas macht... Gibt es da etwas? oder muss man diese Selbst "Erfinden"

    verschoben ~VaporiZed

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VaporiZed“ ()

    Dein Thema hattest Du bei Tipps&Tricks platziert. Bitte zukünftig drauf achten, wo Du ein Thema erstellst.

    Wie aktualisierst Du denn Deine Rows? Ich nehm mir so ein Teil und ändere die Werte/Properties. Fertig. Da erstell ich keine neue Row und lösch keine.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Servus,

    ich hab jetzt die Woche noch bisschen nachgeforscht. Bin aber leider doch nicht fündig geworden.

    Also ich hab 3 Textboxen (Name, Seperator, Link), der rest sind Comboboxen, in die Daten bei Programmlaufzeit hinzugefügt werden.
    wenn der User die Daten angegeben hat wird über die Textbox "Name" überprüft ob ein gleicher Name schon vorhanden ist.
    Wenn dieser vorhanden ist, sollen die neuen Werte in übernommen werden.
    und genau da scheitere ich. Also bei der übernahme der neuen Werte.
    Wie kann ich diese denn nun schnell übernehmen, ohne jede einzelne Column aufzurufen?
    Du suchst dir die entsprechende row
    z.B. Dim rw = dts.tabellenname.FirstOrDefault(Function(x)x.Spalte = Bedingung und prüfen, ob's die gibt.
    und danach kannst du die Properties der Row setzen

    VB.NET-Quellcode

    1. If rw IsNot Nothing Then
    2. With rw
    3. .Name = tbName.text
    4. .Separator = tbSeparator.text
    5. .Link = tbLink.text
    6. End If


    und das war's
    "Na, wie ist das Wetter bei dir?"
    "Caps Lock."
    "Hä?"
    "Shift ohne Ende!" :thumbsup:
    ZielRow ermitteln und Werte ändern. Wie würde Deine Wunschsyntax aussehen, die das schneller oder einfacher hinbekommt? Eine ernst gemeinte Frage, denn mit Extensions kann man meist eine einfachere Syntax erzeugen. Nur braucht man dann erstmal eine Vorlage, wie das Wunschziel aussehen soll.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.