[Delphi] dbExpress, Czy istnieje błąd w tym zapytaniu?

0

Witam.
Próbuje wykonać zapytanie bezskutecznie.

Oto zapytanie:
SELECT * FROM TABL_Pacjenci, TABL_Zamowienia WHERE ID_Pacjent = Z_Pacjent AND ID_Pacjent = "3" AND Z_Pacjent="3" ORDER BY Z_Utworzono DESC

SQLHistoria to komponent TSQLDataSet z dbExpress

Kod programu:

...
 HistoriaZwrocono : integer;
...
begin
 // Wyswietla historie zamówień
 HPacjent := 3;
 DM.SQLHistoria.CommandText := 'SELECT * FROM TABL_Pacjenci,TABL_Zamowienia WHERE ID_Pacjent=Z_Pacjent AND ID_Pacjent='+IntToStr(HPacjent)+' AND Z_Pacjent='+IntToStr(HPacjent)+' ORDER BY Z_Utworzono DESC';
 DM.SQLHistoria.Open();
 // Poniżej sprawdzam to zapytanie (efekt wkleiłem na początku postu jako zapytanie)
 ShowMessage(DM.SQLHistoria.CommandText);
 *** HistoriaZwrocono := DM.SQLHistoria.RecordCount; 
 IF (HistoriaZwrocono = 0) THEN MessageDlg(iBibl.PobierzWyraz('0211'), mtWarning, [mbOK], 0)
 ELSE
 BEGIN
...

Błąd to: First chance exception at $7C812A5B. Exception class EDatabaseError with message 'Database Server Error: Unknown column 'Z_Pacjent' in 'where clause''. Process miniOptyVision.exe (948)

Zaznacza się tym samym linia ***.

Procedura jest wywoływana kilkukrotnie, jednak poniżej (w miejscu ...) istnieje SQLHistoria.Close()

Dodam, że Z_Pacjent istnieje w tabeli, i ze w konsoli MySQL zapytanie jest wykonane poprawnie, ważne także, że gdy uściśle poprzez klasę tabeli np. TABL_Zamowienia.Z_Pacjent również wyrzuca błąd podobnej tresci czepiajac sie nazw tabel tym razem.

0

Jeśli zwraca komunikat o nieznanej kolumnie, wpisuj zapytania w takiej formie:
... WHERE TABL_Pacjenci.ID_Pacjent = TABL_Zamowienia.Z_Pacjent

1 użytkowników online, w tym zalogowanych: 0, gości: 1