Delphi-PRAXiS
Seite 2 von 3     12 3   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQLQuery Datensätze mit Bedingung zählen (https://www.delphipraxis.net/163555-sqlquery-datensaetze-mit-bedingung-zaehlen.html)

jobo 4. Okt 2011 13:19

AW: SQLQuery Datensätze mit Bedingung zählen
 
Vielleicht hilft ein QuotedStr, wenn man unbedingt auf die Parametrierung verzichten will.

Nico93 4. Okt 2011 13:24

AW: SQLQuery Datensätze mit Bedingung zählen
 
Super das war die Lösung.

Sieht jetzt wie folgt aus:

Code:
SQLQuery1.close;
SQLQuery1.SQL.Clear;
SQLQuery1.SQL.Add('SELECT COUNT (*) AS Z FROM AUSGABEN WHERE DATUM BETWEEN ('+QuotedStr(von)+') AND ('+QuotedStr(bis)+')');
SQLQuery1.open;
ausgaben := SQLQuery1.FieldByName('Z').AsInteger;
Vielen Dank für die Hilfen.

DeddyH 4. Okt 2011 13:27

AW: SQLQuery Datensätze mit Bedingung zählen
 
Parameter wären trotzdem besser. Irgendwie erscheint es mir unlogisch, ein Datenformat(TDate) in ein anderes (String) zu pressen, welches man dann auch noch aufbereiten (QuotedStr) muss.

Nico93 4. Okt 2011 13:29

AW: SQLQuery Datensätze mit Bedingung zählen
 
wie würde das denn aussehen?

ich habe eben versucht mit:
Code:
SQLQuery.ParamByName('von').AsDate := von;
und dann sagt er mir dauernd "Parameter nicht gefunden"

DeddyH 4. Okt 2011 13:34

AW: SQLQuery Datensätze mit Bedingung zählen
 
Wie hast Du die Parameter denn definiert? So wie in #6 mit Doppelpunkten? Dann sollten sie eigentlich gefunden werden.

Nico93 4. Okt 2011 13:39

AW: SQLQuery Datensätze mit Bedingung zählen
 
Ja wenn ich wie in #6 die Parameter definiere, dann sagt Delphi mir, dass "Z" nicht gefunden wurde.
Wenn ich die Zeile SQLQuery.SQL.ADD(.....); unter die beiden Zeilen SQLQuery.parambyname.... setze dann kommt die Meldung,
dass die Parameter nicht gefunden werden.

DeddyH 4. Okt 2011 13:41

AW: SQLQuery Datensätze mit Bedingung zählen
 
Zeig nochmal den kompletten Code, da ist bestimmt nur ein kleiner Fehler drin.

Nico93 4. Okt 2011 13:44

AW: SQLQuery Datensätze mit Bedingung zählen
 
Code:
SQLQuery1.Close;
SQLQuery1.SQL.Clear;
SQLQuery1.SQL.Add('SELECT COUNT (*) AS Z FROM AUSGABEN WHERE DATUM BETWEEN :von AND :bis');
SQLQuery1.ParamByName('von').AsDate := Von;
SQLQuery1.ParamByName('bis').AsDate := Bis;
SQLQuery1.Open;

DeddyH 4. Okt 2011 13:46

AW: SQLQuery Datensätze mit Bedingung zählen
 
Das sieht eigentlich korrekt aus. Was geschieht, wenn Du mal testhalber den Feldalias Z weglässt?

vagtler 4. Okt 2011 13:51

AW: SQLQuery Datensätze mit Bedingung zählen
 
Zitat:

Zitat von p80286 (Beitrag 1128336)
[...] vermutlich garnichts? [...]

Vermuten kann man viel und bringt fachlich rein gar nichts.

Zitat:

aber es gibt SQL-Dialekte, die sich da etwas zickig anstellen.
Das verwendete RDBMS ist angegeben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:15 Uhr.
Seite 2 von 3     12 3   

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