Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Ergebnisse einer SQL-Abfrage zählen (https://www.delphipraxis.net/106049-ergebnisse-einer-sql-abfrage-zaehlen.html)

MKolet 4. Jan 2008 12:11

Datenbank: SQL • Zugriff über: -

Ergebnisse einer SQL-Abfrage zählen
 
Hallo,
ich möchte nach dem ausführen eines einfachen Select Befehls herausfinden ob dieser Ergebnisse geliefert hat oder nicht.
Wie kann ich dies herausfinden?

DeddyH 4. Jan 2008 12:14

Re: Ergebnisse einer SQL-Abfrage zählen
 
Versuch es mal über den RecordCount des zugrundeliegenden Dataset-Objekts (z.B. TQuery).

mkinzler 4. Jan 2008 12:15

Re: Ergebnisse einer SQL-Abfrage zählen
 
Welches DBMS? Welche Zugriffskomponenten?

Bernhard Geyer 4. Jan 2008 16:51

Re: Ergebnisse einer SQL-Abfrage zählen
 
Zitat:

Zitat von DeddyH
Versuch es mal über den RecordCount des zugrundeliegenden Dataset-Objekts (z.B. TQuery).

Nicht bei Serverseitigen Curser :-)

Wenn du eine Ergebnismenge hast und EOF nicht True ist hast du Ergebnisse. Wieviel kannst bei Serverseitigen Curser nur herausfinden wenn du (Move-)last aufrufst um den letzten Datensatz anzufordern. Willst du (nur) die Anzahl ist ein Select count(*) besser da die Netz/Serverbelastung geringer ist (auch wenns bei großen DB's auch ziemlich belastend ist).

spacewolf 4. Jan 2008 18:48

Re: Ergebnisse einer SQL-Abfrage zählen
 
Hi,

wenn Du Firebird verwendest die Abfrage des Generators vllt. eine Möglichkeit um die Anzahl zu ermitteln. Falls Du aber wirklich die Ergebnisse eines SQLs brauchst stimm ich Bernhard auch voll zu.

TQuery.Last oder TQuery.Last oder TIBQL.Last oder TDataSet.Last

und dann T???.RecordCount - Dann hast Du die Anzahl!

Möchtest Du aber nur die Anzahl einer bestimmten Bedingung kannst du zum Beispiel so vorgehen:

SQL-Code:
'SELECT count(*) AS anzahl FROM netabelle WHERE deine=bedingung'
Und mit:
Delphi-Quellcode:
TDataSet.FieldByName('anzahl').AsInteger
bekommst Du den Wert dann ausgelesen.

Shalom


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