Untergeordnete Tabelle mit updaten

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Untergeordnete Tabelle mit updaten

    Hallo alle zusammen...

    Und zwar, ich möchte aus einer DB Einträge kopieren, bei der Kopie einige Spalten ändern und diese dann zurückschreiben.
    Mit einer einzelnen Tabelle klappt das auch. Nun möchte ich aber das selbe mit einer Tabelle machen, die noch eine untergeordnete Tabelle hat.
    Gibt es eine Möglichkeit in VB.NET dem Update Befehl mitzuteilen, dass er diese untergeordnete Tabelle auch updatet, bzw kann man 2 Tabellen gleichzeitig aktuallisieren?
    Als Zugriff auf die DB nutze ich ODBC...

    Bei dem Befehl adapter.update(dt) kommt dann der Fehler:

    Integritäts-Constraint (VAUDIS.VF_FZAPOS0_4_FK) verletzt - untergeordneter Datensatz gefunden

    Danke schonmal für eure Hilfe :) :) :)
    Das macht man normalerweise direkt in der Datenbank in dem man dem ForeignKey ein ON UPDATE (und ggf. ON DELETE) CASCADE Constraint mitgibt.

    Das ganze erhält dann die referentielle Integrität.
    Integritäts-Constraint (VAUDIS.VF_FZAPOS0_4_FK) verletzt - untergeordneter Datensatz gefunden
    Man kann keinen Primärschlüssel ändern, wenn der Fremdschlüssel noch exisitiert.
    LG
    Das ist meine Signatur und sie wird wunderbar sein!
    Danke Mono für die schnelle Antwort...
    ich will aber keinen Primärschlüssel ändern, ich will wie gesagt einen Eintrag kopieren und dann dieses in einigen Spalten ändern.
    Der "alte" Eintrag soll erhalten bleiben...

    Mono schrieb:

    Das macht man normalerweise direkt in der Datenbank in dem man dem ForeignKey ein ON UPDATE (und ggf. ON DELETE) CASCADE Constraint mitgibt.

    Ähmmm ja :whistling: und wie? das ist keine DB von mir und ich hab da etwas Bedänken dabei, dass ich da was kaputt machen kann.
    Kann man das nicht auch Programmtechnisch lösen. Möchte eigentlich nichts an der DB an sich ändern...

    Danke nochmal :)
    Die Klasse ist ziemlich tricky, aber du brauchst sie nur einzubinden, und kannst deinen gesamten anderen Datenzugriffs-Code, alle Select- Insert- Delete- Update- Commands rausschmeissen, und zwar für alle Tabellen.

    Was ist mehr Code? :D

    Allerdings nur, wenn du bereits mit Datasets arbeitest - wenn du iwas anneres wurstelst, dann ists aufwändig, weil dann musst du Datenbanking insgesamt erst noch erlernen.


    Edit: Und was ich noch immer empfehle: Lies nicht soviel, diskutier nicht, sondern lad erstmal das Sample, und guck nach, obs funktioniert, und ob du dir vorstellen kannst, dass der Ansatz brauchbar für dich sein könnte.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „ErfinderDesRades“ ()