Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Parameter not set in Query String (https://www.delphipraxis.net/92638-parameter-not-set-query-string.html)

Svenkan 23. Mai 2007 17:58

Datenbank: dBase • Zugriff über: BDE + TQuery

Parameter not set in Query String
 
Delphi-Quellcode:
  Query5.Close;
  Query5.SQL.Text := 'SELECT * FROM "AB'+sj+'"';
  Query5.SQL.Add('WHERE :datum_hw BETWEEN VON AND BIS');
  Query5.SQL.Add('ORDER BY NAME ASC, STUNDEN ASC');
  Query5.ParamByName('datum_hw').Value := IntToStr(DateTimeToUnix(today));
  Query5.Open;
Ich möchte, dass Daten ausgelesen werden, wo sich datum_hw zwischen VON und BIS befindet.
Allerdings bekomme ich dann die oben genannte Fehlermeldung.
Was mache ich falsch?

Gremlin 23. Mai 2007 19:38

Re: Parameter not set in Query String
 
Sorry hab nicht ganz verstanden was du haben möchtest: einen Datumswert (Param) innerhalb von zwei Datumswerten (Feldern) oder einen Datumswert (Feld) über zwei Datumswerte ermitteln?

Bei deinem Beispiel muss der Wert vor 'between' das Feld sein und nach 'between' sollte der Abfragebereich stehen.

Hmm, ich bin aber nicht sicher, ob die BDE die Syntax über dBase-Tabellen zulässt.


Delphi-Quellcode:
[...]
Query.SQL.Add('Select * from ...');
Query.SQL.Add(' where (Von <= :Wert) and (Bis >= :Wert)');
Query.ParamByName('Wert').AsInteger := DateTimeToUnix...
Delphi-Quellcode:
[...]
Query.SQL.Add('Select * from ...');
Query.SQL.Add(' where (Feld >= :Von) and (Feld <= :Bis)');
Query.ParamByName('Von').AsInteger := DateTimeToUnix...
Query.ParamByName('Bis').AsInteger := DateTimeToUnix...

// bzw.

[...]
Query.SQL.Add('Select * from ...');
Query.SQL.Add(' where (Feld between :Von and :Bis)');
Query.ParamByName('Von').AsInteger := DateTimeToUnix...
Query.ParamByName('Bis').AsInteger := DateTimeToUnix...

Svenkan 23. Mai 2007 19:45

Re: Parameter not set in Query String
 
Ja, ich war mir da auch nicht so wirklich sicher, wie ich das machen soll.
Er soll nämlich Daten abrufen, bei dem das jeweiligen Datum zwischen VON und BIS liegt.

mkinzler 23. Mai 2007 19:47

Re: Parameter not set in Query String
 
Dein Ansatz hätte aber das Feld parametrisiert

Svenkan 23. Mai 2007 19:49

Re: Parameter not set in Query String
 
Parametri..was? oO

mkinzler 23. Mai 2007 19:56

Re: Parameter not set in Query String
 
Zitat:

:datum_hw

Svenkan 27. Mai 2007 12:57

Re: Parameter not set in Query String
 
Ich probiers mal eben aus. ;)

Svenkan 27. Mai 2007 13:44

Re: Parameter not set in Query String
 
Type mismatch in expression :/

mkinzler 27. Mai 2007 13:49

Re: Parameter not set in Query String
 
Zeig mal den aktuellen Code und wo der Fehler auftritt.

Svenkan 27. Mai 2007 13:57

Re: Parameter not set in Query String
 
Delphi-Quellcode:
  Query5.Close;
  Query5.SQL.Text := 'SELECT * FROM "AB'+sj+'"';
  Query5.SQL.Add('WHERE (:datum_hw >= VON AND :datum_hw <= BIS)');
  Query5.SQL.Add('ORDER BY NAME ASC, STUNDEN ASC');
  Query5.ParamByName('datum_hw').AsInteger := DateTimeToUnix(today);
  Query5.Open; <~~~ dort tritt der Fehler dann auf


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:00 Uhr.
Seite 1 von 3  1 23      

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