Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Datenbank Tabelle ID-Veknüpfung (https://www.delphipraxis.net/133992-datenbank-tabelle-id-veknuepfung.html)

mkinzler 14. Mai 2009 07:00

Re: Datenbank Tabelle ID-Veknüpfung
 
Zitat:

Zitat von Blup
Zitat:

Zitat von mkinzler
Oder eine LookUp-Komponente verwenden

Oberfläche direkt mit Datenbankkomponenten verbinden :roll:
Pfui!

So grundsätzlich würde ich das nicht ablehnen.

thiagojonas 20. Mai 2009 14:39

Re: Datenbank Tabelle ID-Veknüpfung
 
Zitat:

SELECT Faecher.Name
FROM Lehrer
JOIN Lehrer2Faecher ON Lehrer2Faecher.LehrerId = Lehrer.ID
JOIN Faecher ON Faecher.ID = Lehrer2Faecher.FaecherID
WHERE Lehrer.Name = 'Müller'
Erhalte hierbei eine Fehlermdeldung:

Zitat:

---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt Valho_Student.exe ist eine Exception der Klasse EOleException mit der Meldung 'Syntaxfehler in FROM-Klausel' aufgetreten.
---------------------------
Anhalten Fortsetzen Hilfe
---------------------------

thiagojonas 20. Mai 2009 14:44

Re: Datenbank Tabelle ID-Veknüpfung
 
Also hiernochma mein Quelltext:

Delphi-Quellcode:
 ADOQuery1.SQL.Text := 'SELECT `Fach.Name` FROM `Lehrkraft` JOIN LehrerFach ON LehrerFach.Lehrer_ID = Lehrer_ID JOIN `Fach` ON `Fach.Fach_ID` = `LehrerFach.Fach_ID` WHERE `Lehrkraft.Name` = ''' + Fach_cb.Text + ''';';

DeddyH 20. Mai 2009 14:49

Re: Datenbank Tabelle ID-Veknüpfung
 
Delphi-Quellcode:
ADOQuery1.SQL.Text := 'SELECT Fach.Name FROM Lehrkraft JOIN LehrerFach ON LehrerFach.Lehrer_ID = Lehrkraft.Lehrer_ID JOIN Fach ON Fach.Fach_ID = LehrerFach.Fach_ID WHERE Lehrkraft.Name = :name';
ADOQuery1.Parameters.ParamByName('name').Value := Fach_cb.Text;

thiagojonas 20. Mai 2009 15:51

Re: Datenbank Tabelle ID-Veknüpfung
 
Hmm... die Fehlermeldung bleint die selbe.

Hier mein ganzer QuelCode:

Delphi-Quellcode:
procedure Tfach.FormShow(Sender: TObject);
begin
  LoadFach;
end;

procedure Tfach.LoadFach;
begin
  ///////////////////////////////////////////////////////////////////////////
  ///  DB Vorlage öffnen
  ADOQuery1.SQL.Text := 'SELECT Fach.Name FROM Lehrkraft JOIN LehrerFach ON LehrerFach.Lehrer_ID = Lehrkraft.Lehrer_ID JOIN Fach ON Fach.Fach_ID = LehrerFach.Fach_ID WHERE Lehrkraft.Name = :name';
  ADOQuery1.Parameters.ParamByName('name').Value := Fach_cb.Text;
  ADOQuery1.Open;
  ///////////////////////////////////////////////////////////////////////////
  ///  Combobox leeren
  fach_cb.Clear;
  ///////////////////////////////////////////////////////////////////////////
  /// 
  while not ADOQuery1.EOF do
    begin
     fach_cb.Items.Add(ADOQuery1.FieldByName('Fach').Value);
     ADOQuery1.Next;
    end;
end;

DeddyH 20. Mai 2009 15:55

Re: Datenbank Tabelle ID-Veknüpfung
 
Evtl. fehlen da Klammern, Access hat doch AFAIK so eine kranke Syntax. Lass Dir das Statement doch einmal von Access selbst erstellen.

thiagojonas 20. Mai 2009 15:57

Re: Datenbank Tabelle ID-Veknüpfung
 
Wie kann ich das machen?

DeddyH 20. Mai 2009 15:58

Re: Datenbank Tabelle ID-Veknüpfung
 
Da gibt es doch soweit mir bekannt ist einen Abfragegenerator.

hoika 20. Mai 2009 17:53

Re: Datenbank Tabelle ID-Veknüpfung
 
Hallo,

wo wird denn diese Fach_cb gefüllt ?
Du benutzt sie ja als Parameter schon in FormShow.
Pack den Aufruf doch mal in ein OnButtonClick zum Test.

Benutz mal F5/F7/F8.


Heiko

thiagojonas 20. Mai 2009 18:54

Re: Datenbank Tabelle ID-Veknüpfung
 
Den Test habe ich auch schon gemacht. Daran liegt es nicht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:35 Uhr.
Seite 2 von 3     12 3      

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-2025 by Thomas Breitkreuz