Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   sql frage (https://www.delphipraxis.net/132885-sql-frage.html)

khh 21. Apr 2009 11:56

Datenbank: firbird • Version: 2.1 • Zugriff über: zeos

sql frage
 
hallo zusammen,
ich stehe grad aufm Schlauch :-(

ich hab ein sqlstatement mit einer where-bedingung:
where id = 123
123 wird als parameter übergeben.
welchen Parameter kann ich verwenden um alle DS zu bekommen, ohne die Whereklausel rauszunehmen ?

Gruss KH

jfheins 21. Apr 2009 12:00

Re: sql frage
 
ich nehme mal an, parameter heißt du kannst da nur eine zahl einsetzen - in diesem fall: geht imho nicht

Wenn du aber z.B. noch eine Bedingung hinzufügst könntest du sowas machen wie

where id = 0 or true

Wobei letzteres eben noch ein Parameter ist - mit der obigen were-Bedingung solltest du alle Datensätze zurückbekommen ;)

mkinzler 21. Apr 2009 12:01

Re: sql frage
 
SQL-Code:
select ... where id like :id;
Parameter = '%'

Oder ab FB2.5

Delphi-Quellcode:
select ... where id = :id or id is Null;

khh 21. Apr 2009 12:07

Re: sql frage
 
Zitat:

Zitat von mkinzler
SQL-Code:
select ... where id like :id;
Parameter = '%'

Oder ab FB2.5

Delphi-Quellcode:
select ... where id = :id or id is Null;

mh.
den joker nimmt er so nicht, ist ja ein integer-feld.

hoika 21. Apr 2009 12:10

Re: sql frage
 
Hallo

SQL-Code:
or id is not null
Aber mal ne Frage.
wozu soll das gut sein.
Warum nimmst du das where nicht raus ?


Heiko

khh 21. Apr 2009 12:14

Re: sql frage
 
Zitat:

Zitat von hoika
Hallo

SQL-Code:
or id is not null

Warum nimmst du das where nicht raus ?


Heiko

kann ich natürlich auch machen,
wird wohl auch das Beste sein :-(

ich dachte halt es geht evtl. einfacher ;-)

Gruss Kh

p80286 21. Apr 2009 16:15

Re: sql frage
 
warum ist doch relativ einfach
Delphi-Quellcode:
const
  sqltext ='select * from tabelle ';
  sqltext1 ='where id=:id';
var
  abfragetext : string;
..
if parameter>'' then
  abfragetext:=sqltext+sqltext1
else
  abfragetext:=sqltext;

if parameter>'' then
  query.parambyname('id').asinteger(strtoint(parameter));
query.open;
....
so mal eben hinger....

Gruß
k-h


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