Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi DB Parameter (https://www.delphipraxis.net/138798-db-parameter.html)

mkinzler 18. Aug 2009 18:54

Re: DB Parameter
 
Kennt diese Klasse ein ParamCheck?

DeddyH 18. Aug 2009 19:05

Re: DB Parameter
 
Zur Not Bernhard (Geyer) fragen, AFAIK nutzt der genau diese Komponenten auch schon länger.

mkinzler 18. Aug 2009 19:23

Re: DB Parameter
 
Ich benutze die InterBase/FireBird Varianten. Aber ich setze auch immer nur die benötigten Parameter

youuu 18. Aug 2009 20:00

Re: DB Parameter
 
Zitat:

Zitat von mkinzler
Kennt diese Klasse ein ParamCheck?

Das weiß ich nicht

mkinzler 18. Aug 2009 21:23

Re: DB Parameter
 
Dann könntest du nachschauen. Ich würde aber das Pferd andersrum aufzäumen: Geh durch die Parameter der Abfrage und bestückre diese dann mit den Werten aus der Liste/dem Array.

hoika 18. Aug 2009 21:24

Re: DB Parameter
 
Hallo,

Zitat:

Wenn ich nun mehre Parameter angebe, allerdings niht alle verwenden muss in dem Query, dann spuckt Delphi einen Fehler aus über die nicht vrweneten Parameter. Ist das normal bzw kann man dies umgehen ohne die Parameter zu löschen? Da sie in eine Procedure aus gelagert wurden.
Najaaaaa ;)

Nicht angegebene Parameter müssen also solche definiert werden.
(Bounds, IsNull)

Zur Not hilft es, alle Parameter als Null zu vordeklarieren,
und dann die richtigen nochmal zu setzen.

Ist aber unsauber.
Die aufrufende Methode sollte doch wissen,
was NULL und was nicht NULL ist und das entsprechend so setzen.


Heiko

mkinzler 18. Aug 2009 21:27

Re: DB Parameter
 
Hallo Heiko,
ich habe sein Problem anders verstanden. Er hat Liste von (Parameter-)Werte, welche in verschiedenen Abfragen nur zum Teil vorkommen. Versucht er nun einen nicht vorhandenen Parameter zu belegn kommt natürlich der Fehler.

sx2008 19. Aug 2009 00:17

Re: DB Parameter
 
Im Prinzip so:
Delphi-Quellcode:
Procedure TFormMain.ParamInfo(qry: TMyQuery);
Begin
  Assert(assigned(qry)); //Sicherheitsabfrage
  qry.Params.ParamValues['histC']:= Infos.Hist;

  // hier wird angenommen, dass nicht alle Queries den Parameter "histDate" benötigen
  // mit FindParam() wird abgefragt, ob es den Parameter wirklich gibt
  if Assigned(qry.Params.FindParam('histDate')) then
    qry.Params.ParamValues['histDate']:= Infos.HistDate;
End;
Bin nicht sicher, ob die Funktion wirklich FindParam() heisst;
es gibt aber auf jeden Fall eine Funktion mit der es möglich ist einen best. Parameter abzufragen.
Ggf. Online Hilfe befragen.

mkinzler 19. Aug 2009 05:37

Re: DB Parameter
 
Oder eben anderesherum, nicht schauen, ob es den Parameter zum Wert gibt, sondern die paramter durchgehen und den entsprechenden Wert holen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:36 Uhr.
Seite 2 von 2     12   

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