Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: Daten einfügen, bei zwei Tabellen

  Alt 7. Jun 2004, 12:53
Zitat von abi:
Ich habe zwei Tabellen.
Die 1.
Nummer (Primary key)
Name (String)
Ort (Integer)

Die 2
Nummer (Primary Key)
OrtNr (Integer)
Ort (String)

Wenn ich jetzt einen neue Daten einfügen will, geht das ja wunderbar. Aber leider muss ich wenn ich einen neuen Ort habe immer die Nummer dazu eingeben.

Kann man des so machen, das er falls der Ort schon vorhanden ist, diesen Übernimmt und wenn nicht denn neuen Ort einfach einfügt.
Ich denke nicht, dass es sinnvoll ist, die Normalisierung von Datenbank so weit zu treiben,
den Ort getrennt vom Rest zu speichern.
Aber trotzdem hier mal die Vorgehensweise. Nimm eine Query mit folgender SQL-Anweisung
SELECT * FROM Tabelle2 WHERE Ort=:Ort
Delphi-Quellcode:
QryOrte.Close;
QryOrte.Params.ParamByName['Ort'] := aktuellerOrt;
QryOrte.Open;
if QryOrte.IsEmpty then
begin
   // aktueller Ort nicht gefunden, also einfügen
   QryOrte.Append;
   QryOrte['OrtNr'] := ...
   QryOrte['ort'] := aktuellerOrt;
   QryOrte.Post;
end
else
   // Ort gefunden, also Feld OrtNr auslesen
   aktuelleOrtNr := QryOrte['OrtNr'];
Andreas
  Mit Zitat antworten Zitat