Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   AnyDAC zur Laufzeit WHERE Bedingungen hinzufügen. (https://www.delphipraxis.net/168335-anydac-zur-laufzeit-where-bedingungen-hinzufuegen.html)

Kostas 15. Mai 2012 21:01

Datenbank: Firebird • Version: 2.5 • Zugriff über: AnyDAC

AnyDAC zur Laufzeit WHERE Bedingungen hinzufügen.
 
Hallo Zusammen,

ich vergleiche gerade meine Erfahrungen mit IBO und versuche äquivalente Technologien zu finden zu AnyDAC.
In IBO gibt es eine StringList SQLWhereItems die zur Laufzeit gefüllt werden kann mit WHERE Bedingungen.
Ist so etwas auch mit AnyDAC machbar?
Ich der Doku habe ich verschiedene Ansätze gefunden wie Filter und Macros dessen Ansatz habe ich noch nicht durchleuchtet.



Delphi-Quellcode:
procedure TfrAdressenSuch.dsSuchAdressenPrepareSQL(
  Sender: TIB_StatementLink; Statement: TIB_Statement);
var
  AkquiseStr:String;
  temp:String;
begin
  with AdressRecord, dsSuchAdressen.Dataset.SQLWhereItems do
  begin
    if rAdressNr<>''
    then Add('A.ADRESSNR = '''+rAdressNr+'''');

    if rFirma<>''
    then Add('A.FIRMA CONTAINING '''+rFirma+'''');

    if rPlz<>''
    then Add('A.PLZ STARTING WITH '''+rPlz+'''');
  end;{with}
end;
Gruß Kostas

Kostas 3. Sep 2012 10:22

AW: AnyDAC zur Laufzeit WHERE Bedingungen hinzufügen.
 
Hallo Kostas,

ich habe(oder du) den Support angeschrieben und eine Antwort bekommen.

For example, you can assign a query to a ADQuery1.SQL:
Code:
select * from MyTab

  where !condition
Then in code you can do:
Code:
  ADQuery1.Close;
  ADQuery1.MacroByName('condition').AsRaw := 'id > 0';
  ADQuery1.Open;
or
Code:
  ADQuery1.Close;
  ADQuery1.MacroByName('condition').AsRaw := '';
  ADQuery1.Open;
Jetzt bin ich(oder du) ein Stück weiter IBObjects abzulösen. :-)

Dir noch eine Schöne Zeit.
Gruß Kostas.

milo 7. Sep 2012 10:52

AW: AnyDAC zur Laufzeit WHERE Bedingungen hinzufügen.
 
Hey Kostas,

Danke für die Info! :-D

Gruß Milo


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:20 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