![]() |
updateSQL, Daten eingeben
Hallo
irgendwie komme ich nicht weiter. Ich habe 3 Tabellen 'Lehrer' Nummer Name Fachbereich ---Hilfe Dozent //verweisst auf Nummer von Tabelle Lehrer Buch //verweisst auf Nummer von Tabelle Buch --Buch Nummer Autor Titel Da ich in meiner SQL Anweisung ein Join enthalten habe. Muss ich ja über das updateSQL gehen. Das bekomme ich auch hin, für meinen Namen und Fachbereich. Aber ich wollte jetzt auch noch ein Buch auswählen. Wie kann ich des am besten machen. Mercy abi |
Re: updateSQL, Daten eingeben
Was hast Du den bis jetzt schon an Code dafür geschrieben?
Willst Du den Bezug zu dem Buch dann noch mit speichern? |
Re: updateSQL, Daten eingeben
Hallo Albi :hi:
schön dich wieder zuhören. Hab des jetzt wie du mir empfohlen hast mit Query Komponente gemacht. Als SQL Befehl habe ich folgendes geschrieben.
Code:
Da ich hier ja ein Join enthalten habe, kann ich hier ja nicht direkt einen neuen Datensatz einfügen.
SELECT *
FROM Lehrer L Left OUTER JOIN Hilfe H ON (L.Nummer = H.Dozent) LEFT OUTER JOIN Buch B ON (H.Buch = B.Nummer) Deshalb benutze ich eine UpdateSQL Komponente. Jetzt kann ich zwar einen neuen Namen und eine neuen Fachbereich eintragen. Aber ich kann kein vorhandendes oder neues Buch auswählen. Aber jetzt wollte ich des erstmal mit zwei Tabellen versuchen. gruß abi |
Re: updateSQL, Daten eingeben
Ich möchte jetzt nicht falsches sagen aber ich denke nur weil du ein Join verwendest brauchst du doch nicht zwingend ein UpdateSQL verwenden. Mit der einen Kompo die du jetzt gerade verwendest, filterst Du doch nur die Datenmenge. Wenn Du jetzt z.B. einen neuen Datensatz einfügen willst, dann nimmst Du eine 2 Query-kompo und schreibt einfach nur da rein was sie machen soll, das passiert völlig unabhängig von der Query.
Das könnte so aussehen:
SQL-Code:
So kannst Du eine DS ändern, wenn du einen neuen DS einfügen willst setzt du vor das Edit noch ein append und es wird in der jeweiligen DB ein neuer DS eingefügt.
with Query Do
begin Edit; Query.FieldByName('FeldName').asSonstwas:= Wert der geschrieben werden soll ... ... post; end; Es gib bestimmt noch mehrere Varianten soetwas zu handhaben aber ich mach es immer so. Wenn Du nun z.B. einen neuen Lehrer anlegst, dann überprüft du vor dem speichern ob er schon da, wenn ja also nichts tun bzw. ändern, dann schaust du nach ober er in Hilfe-DB schon steht, wenn ja nichts tun, wenn nicht einfügen. Du must die Hilfe-DB nicht als Ausgangs-DB betrachten, sondern deine beiden anderen DB. Die Hilfe DB macht es dir nur möglich, die Datenmenge übersichtlich zu halten. Sprich nur einmal die komplette Daten einzugeben. Wenn Du also einen DS eingeben willst erfolg das direkt über die DB's Lehrer und Buch und nicht über Hilfe. |
Re: updateSQL, Daten eingeben
Danke Albi
ich glaube ich hab verstanden was du meinst. Dann mache ich mal ne zweite Query Komponente. Und probiere mal deine ganzen Tips aus. mercy abi |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:15 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz