Zum Inhalt springen

[VB.NET] Update von 2 oder mehr Tabellen


Empfohlene Beiträge

Geschrieben

hallo,

evtl. kann mir hier ja jemand weiterhelfen.

es geht um ado.net in verbindung mit vb2008

wie kann ich am einfachsten 2 tabellen updaten?

ich habe eine mysql db mit 2 tabellen "kundenstamm" und "orte" verbunden über die plz. wenn ich jetzt im gridview die plz ändere, wir die leider nur in einer tabelle geändert aber nicht in beiden.

ich danke schon mal

gruß michael

Geschrieben

Hallo

ich glaube du hast einen Denkfehler. Wenn du in der Tabelle "Kundenstamm" die PLZ änderst warum soll sie sich dann auch in der Tabelle der Orte ändern?

Ich denke du hast es wie folgt aufgebaut:

Kundenstamm

- KundenID

- ...

- PLZ

Orte

- PLZ

- Ort

Die Tabellen sind dann mit Kundenstamm.PLZ <-> Orte.PLZ verbunden. Wenn das so ist dann DARF sich die PLZ bei Orte nicht ändern da ja in Orte einfach alle PLZ und die dazugehörigen Orte befinden !?

Noch einen kleinen TIPP, denn es gibt mehrere Orte zu einer PLZ:

Bau deine DB wie folgt auf

Kundenstamm

- KundenID

- ...

- PLZ_ID

Orte

- PLZ_ID

- PLZ

- Ort

das erspart dir VIEEELE Probleme ;-)

Gruß Hans-Jörg

Geschrieben

ich danke dir.

war wirklich ein denkfehler von mir.

eine frage bleibt trozdem.

wie ist die einfachste methode im ado.net 2 tabellen zu updaten?

wenn ich zum beispiel einen neuen kunden anlege mit neuer plz, dann wird das nicht in orte tabelle übernommen.

gruß michael

Geschrieben

verstehe ich das dann richtig, das ich die tabellen nicht parallel updaten kann, sondern nur seriell?

dazu hätte ich noch ne frage.

und zwar, kann man sowas mit dem commandbuilder machen?

mit einer tabelle funzt der super bei mir baer was ist, wen jetzt noch mehr tabellen dazu kommen?

gruß michael

Geschrieben

Hallo

ob man mehrere Tabellen "gleichzeitig" updaten kann hängt eigentlich nicht an .NET sondern eher an der Datenbank. Nagel mich nicht fest aber soviel ich weiß kann z.B. MySQL keine 2 Befehle gleichzeitig verarbeiten, der SQL- Server dagegen schon.

Ich für mich habe mir angewöhnt immer Tabelle für Tabelle upzudaten. Die Befehle per Commandbuilder zusammenzubauen geht gewiss, aber da kenne ich mich nicht aus, da ich den derzeit nicht verwende.

Gruß Hans-Jörg

Geschrieben (bearbeitet)

Türlich kann ne Datenbank 2 Befehle gleichzeitig.

Schreib ne Stored Procedure, und mach das direkt in der Datenbank.

Der Vorteil ist auch, dass du a) gegen SQL Injection da weit besser aussiehst, und B) du sowas dann nur 1x in der Stored Proc anpassen musst, und nicht an 50 Stellen im Frontend.

Sql is was tolles, da kann ma viel mit machen, wenn ma von den SELECT FROM WHERE 3 Zeilern weg geht ;)

Ich bau mir die DB Anbindung allerdings auch immer selbst im Code, und benutz nicht die Drag n Drop Wizards von VS. Mir isses lieber selber das SQL zu schreiben, und nehm in Kauf, dass ich mir über Updates Inserts und Deletes mehr Gedanken machen muss. Der klare Vorteil meiner Meinung nach is allerdings die Transparenz des ganzen. Wenns n Fehler gibt, dann Find ich den auch ohne "mhhm was macht der im Hintergrund" raten ;)

Bearbeitet von streffin

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...