Thema: Delphi sql

Einzelnen Beitrag anzeigen

Benutzerbild von Leuselator
Leuselator

Registriert seit: 18. Mär 2003
Ort: Berlin
589 Beiträge
 
Delphi 8 Architect
 
#12

Re: sql

  Alt 2. Dez 2003, 21:38
ok. Jetzt glaube ich zu verstehen, was Du meinst. Das ist keine referentielle Integrität. Eher eine parameterabhängige Query. Machst Du so:

Query1:
SQL-Code:
         SELECT MA.id_Motorart
                 ,MA.Motorart
                 ,TS.id_Typenschild
-- ,TS.sid_Motorart -- unnötig, da gleich MA.id_Motorart
-- ,sid_Fabrikat -- dto. FB.id_Fabrikat
                 ,TS.Typ -- auf Deinem Plan nicht zu sehen aus welcher Tabelle
                 ,TS.Drehzahl -- dto. (eventuell Tabellen-Präfix berichtigen)
                 ,TS.Motornummer -- dto.
                 ,TS.Leistung_KW -- dto.
                 ,FB.id_Fabrikat
                 ,FB.Fabrikat
           FROM tbl_Motorart MA
     INNER JOIN tbl_Typenschild TS
             ON TS.sid_Motorart = MA.id_Motorart
     INNER JOIN tbl_Fabrikat FB
             ON FB.id_Fabrikat = MA.sid_Fabrikat

     WHERE (TS.Typ like :p1) -- Tabellenpräfixe checken und ggF. anpassen
        OR (TS.Fabrikat like :p1)
        OR (TS.Drehzahl like :p1)
        OR (TS.Motornummer like :p1)
        OR (TS.Leistung_KW like :p1)
Query2:
SQL-Code:
         SELECT WD.id_Wickeldaten
                ,WA.id_Wicklungsart
                ,WA.Wicklungsart
- ,UndWasImmerDuSonstNochSoBrauchst

          FROM tbl_Wickeldaten WD
    INNER JOIN tbl_WicklungsArt WA
            ON WA.id_WicklungsArt = WD.sid_WicklungsArt
         WHERE WD.sid_TypenSchild = :id_TypenSchild
-- ^<--- der DoppelPunkt macht's!
Der Doppelpunkt vor dem "id_Typenschild" macht daraus einen Parameter. Der wird nun folgendermaßen aus der 1. Query immer dann mit einem frischen Wert versorgt, wenn dort ein anderer Datensatz gewählt wird:

Auf Formular gehören 2 TDataSources. Die eine im ObjektInspektor (Eigenschaft DataSet) an die 1. Query, die andere an die 2. Query hängen. Wieder im OI die Eigenschaft DataSource der 2. Query auf 1. DataSource (Die mit 1.Query verbunden ist) setzen.

Fertig. Muß gehen. Eigentlich. Probiermal.
Gruß
Tim Leuschner
Programmierer = moderner Sysiphos: stets wenn er meint, den Stein seiner Dummheit auf den Berg des Wissens gewuchtet zu haben, erblickt er einen völlig neuen Aspekt und der Dummfels poltert mit Getöse zurück ins Tal der Unwissenheit...
  Mit Zitat antworten Zitat