![]() |
Datenbank: Oracle DB Express • Version: 1.0.00.39 • Zugriff über: Ado
Delphi & Oracle, foreign key und die Probleme
Hallo zusammen :hi: ,
ich hoffe das ich mit meinem Einstieg in diese Community mich nicht direkt Blamiere :D Aber zu meinem Problem: Ich habe ein Schulprojekt, welches ein DBMS für eine Fahrschule umfasst. Die Tabellen sind, wie vorgegeben, in Oracle erstellt und mit foreign keys mit einander Verknüpft. ![]() Meine Aufgabe ist es, ein Delphi Programm zu schreiben, welches Fahrschuler erfassen kann und darauf hin erfasste Fahrstunden dieser Schüler auszugeben. Ausserdem benötigt dieses Programm eine Suchfunktion mit der man nach bestimmten Fahrschülern suchen kann. Mit zusammenklicken nach diesem Tutorial ![]() Ich scheitere nur an dem Punkt, wo das Programm dem neu erstellten Fahrschüler manuell (sprich durch mich) eine Fahrstunde zuweisen soll und daraufhin diese umgewandelt in die Primary Keys, in die Datenbank "Fahrstunde" schreiben soll. Oder sollte ich das mit einem View meistern? Ich hoffe ihr habt mein Problem verstanden, hoffend um Hilfe flehend und mit freundlichen Grüßen Max |
Re: Delphi & Oracle, foreign key und die Probleme
Zitat:
Zitat:
Was ist genau dein Problem/Frage? In Fahrstunde werden die PK-Werte der Tabellen Auto, Lehrer, Schüler in die entsprechenden FK-Felder geschrieben |
Re: Delphi & Oracle, foreign key und die Probleme
Hallo,
das Stichwort für Dich: Master-Detail Verknüpfung zwischen Schüler (Master) und Fahrstunde (Detail) Grüße, Uli |
Re: Delphi & Oracle, foreign key und die Probleme
Hallo,
das PK eine DoublePrecision, wer denkt sich denn sowas aus ??? Nunja Zitat:
Wir gehen davon aus, dass es mindestens einen Schüler/Lehrer/Auto gibt. Die ID der Fahrstunde ist praktisch ein autoinc (Auto Double Precision ;)), wird also hochgezählt. Max(Id)+1 wäre ein Ansatz. Auto/Lehrer/Schüler sind durch je eine eindeutige ID gekennzeichnet. Die kommen nach einer Auswahl in die Tabelle Fahrstunde iId holen die anderen 3 Ids wurden "ausgewählt"
Delphi-Quellcode:
with Query do
begin SQL.Clear; SQL.Add('Insert Into Fahrstunde(Id,Schueler,Lehrer,Auto)'); SQL.Add('Values(:Id,:Schueler,:Lehrer,:Auto)'); ParamByName('Id').AsInteger:= iId; // AsFloat geht auch ParamByName('Lehrer').AsInteger:= iLehrerId; // AsFloat geht auch ParamByName ... usw. ExecSQL; end; Heiko |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:35 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