Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Parameter geht nicht (https://www.delphipraxis.net/138997-parameter-geht-nicht.html)

Hansa 21. Aug 2009 12:19

Datenbank: FB 2.1 • Zugriff über: egal

Parameter geht nicht
 
Moin,

SQL-Code:
/*SELECT * FROM ARTPG8 WHERE ID_ART = 39 AND ABDATUM < ('20.08.2009');*/
/*SELECT * FROM ARTPG8 WHERE ID_ART = 39 AND ABDATUM < current_timestamp;*/
SELECT * FROM ARTPG8 WHERE ID_ART = 39 AND ABDATUM < (:ABDATUMEIN);
Das auskommentierte geht. Wird ein Parameter eingesetzt, dann wird nichts zurückgeliefert. Weiß einer, was da schief läuft ?

mkinzler 21. Aug 2009 12:25

Re: Parameter geht nicht
 
Was für einen Typ hat der Parameter/ das Feld?
Warum die Klammer

Hansa 21. Aug 2009 12:30

Re: Parameter geht nicht
 
Typ : date. Klammer : egal. :mrgreen:

hoika 21. Aug 2009 12:32

Re: Parameter geht nicht
 
Hallo,

ParamByName.AsDateTime benutzt ?


Heiko

Hansa 21. Aug 2009 12:34

Re: Parameter geht nicht
 
Nix AsDateTime. AsDate.

Nachtrag : in IBExpert ist folgendes festzustellen. Ich setze den Befehl ab. Für den Parameter wird das heutige Datum vorgegeben. Ergebnis : keine Daten. Neu gemacht, allerdings Parameter-Datum von Hand auf 28.08.2009 gesetzt => geht. Wieder neu gemacht und das Datum von Hand auf 21.08.2009, also den Vorgabewert gesetzt => geht.

mkinzler 21. Aug 2009 12:40

Re: Parameter geht nicht
 
Und was zugewiesen?

Hansa 21. Aug 2009 12:54

Re: Parameter geht nicht
 
Delphi-Quellcode:
function LeseArtPg (ID_ART : integer;pg : integer;Datum : TDate): real;
begin
  LeseArtPg := 0;
  SpMod.LeseArtPgSP.ParamByName ('ID_ART').AsInteger := ID_ART;
  SpMod.LeseArtPgSP.ParamByName ('PGNR').AsInteger := PG;
  SpMod.LeseArtPgSP.ParamByName ('ABDATUM').AsDate := Datum;
Was soll das helfen ? Zuerst vermute ich immer einen Fehler im eigenen Programm. Aber da IBExpert denselben Fehler zeigt : da stimmt doch was nicht. :gruebel:

Medium 21. Aug 2009 15:29

Re: Parameter geht nicht
 
Aus dem Schnippel sieht man nicht, wo du nun SQL.Text zuweist, ich vermute jetzt mal nach den Parametern. Ich habe die Params immer erst nachher zugewiesen. Ich weiss zwar nicht mehr ob das einen echten Grund hatte, aber ich hab's noch nie anders gemacht, und es ging immer. Probier's mal :)

hoika 21. Aug 2009 16:11

Re: Parameter geht nicht
 
Hallo Hansa,

SELECT * FROM ARTPG8 WHERE ID_ART = 39 AND ABDATUM < (:ABDATUMEIN);

SpMod.LeseArtPgSP.ParamByName ('ABDATUM').AsDate := Datum;

Verschrieben ?
Setz mal ParamCheck of True


Heiko


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:34 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz