Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Zählen von Einträgen in SQLQuery (https://www.delphipraxis.net/2345-zaehlen-von-eintraegen-sqlquery.html)

harrybo 21. Jan 2003 16:08

Hi X-Dragon,

wenn es Dir also zwecks Einrichtung einer Fortschrittsanzeige lediglich um die Anzahl der Datensätze geht, also nicht um einen genauen ID-Wert, kannst Du doch wunderbar SELECT COUNT... (in Verbindung mit einer Query) verwenden. Diese Abfrage ist, auch wenn die entsprechende Tabelle hunderttausende Datensätze enhält, überhaupt nicht zeitkritisch, da ja, wie gesagt, nur ein einziger Datensätz zurückgeliefert wird.

gruß, harrybo

X-Dragon 21. Jan 2003 18:20

Ok, danke! Werde es morgen gleich mal ausprobieren.

X-Dragon 23. Jan 2003 09:38

Ich bin jetzt gerade dabei den Zugriff auf die DB komplett auf SQL umzustellen, allerdings funktioniert das noch nicht so ganz.

Wie muss ich das denn schreiben, das er die DBF-Datenbank auch als solche erkennt?(also beim Select Count beschwert er sich, das er mit DBF nichts anfangen kann)
Und irgendwo soll da ' zuviel oder zu wenig sein, oder so :| .

Code:
            SQL.Add([color=#000080]'SELECT COUNT (*) FROM Kunden.DBF'[/color]);
            ExecSQL;
            anz := Round([color=#000080]1[/color]/([color=#000080]100[/color]/(qry.Fields[[color=#000080]0[/color]].AsInteger)));
            SQL.Clear;

            SQL.Add([color=#000080]'SELECT KDNR, N1, N2, N3, PLZ, ORT'[/color]);
            SQL.Add([color=#000080]'FROM Kunden.DBF'[/color]);
            SQL.Add([color=#000080]'WHERE UPPER(N1) LIKE UPPER('[/color][color=#000080]'%'[/color] + sstr + [color=#000080]'%'[/color][color=#000080]')'[/color]);
            SQL.Add([color=#000080]'OR KDNR LIKE '[/color][color=#000080]'%'[/color] + sstr + [color=#000080]'%'[/color][color=#000080]'');
[/color]
            SQL.Add([color=#000080]'OR UPPER(N2) LIKE UPPER('[/color][color=#000080]'%'[/color] + sstr + [color=#000080]'%'[/color][color=#000080]')'[/color]);
            SQL.Add([color=#000080]'OR UPPER(N3) LIKE UPPER('[/color][color=#000080]'%'[/color] + sstr + [color=#000080]'%'[/color][color=#000080]')'[/color]);
            SQL.Add([color=#000080]'OR PLZ LIKE '[/color][color=#000080]'%'[/color] + sstr + [color=#000080]'%'[/color][color=#000080]'');
[/color]
            SQL.Add([color=#000080]'OR UPPER(ORT) LIKE UPPER('[/color][color=#000080]'%'[/color] + sstr + [color=#000080]'%'[/color][color=#000080]')'[/color]);
[edit]
hab schon mal ein Problem gelöst, eins der DB-Felder(PLZ) hat ein numerisches-Format und will sich deshalb nicht mit einem String verglechen lassen :)

Fehlt nur noch das COUNT ...

[edit2]
Ok, hat sich erledigt, ich verzichte auf das Count.


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

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