Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Query auf "ohne Ergebnis" überprüfen (https://www.delphipraxis.net/62159-query-auf-ohne-ergebnis-ueberpruefen.html)

PASST 31. Jan 2006 16:17

Datenbank: BDE • Version: 5.01 • Zugriff über: localSQL

Query auf "ohne Ergebnis" überprüfen
 
Hi NG.

Delphi 4 (update 3)

Ich habe ein Query mit SUM und Group By erstellt. Jetzt kann es passieren, dass als Ergebnis keine Daten berechnet/summiert werden, aber das Query trotzdem eine Zeile allerdings mit Null-Werten als Ergebnis anzeigt.
Wie kann ich auf einfache Art und Weise überprüfen ob es sich um ein "NULL-Ergebnis" handelt.

Überprüfen auf BOF und EOF sowie RecordCount scheidet natürlich aus.

Gruß
Peter

marabu 31. Jan 2006 16:34

Re: Query auf "ohne Ergebnis" überprüfen
 
Hi Peter,

nimm noch ein COUNT(*) AS RecordCount mit in deine Query auf.

Grüße vom marabu

PASST 31. Jan 2006 16:41

Re: Query auf "ohne Ergebnis" überprüfen
 
Hallo marabu,

du meinst wohl, du bist ein ganz Schlauer. Mir mit den einfachsten Hinweisen zur Lösung zu verhelfen und mich als SQL-Depp hinzustellen.







:lol: Damit hast du Recht :lol:
Et klappt.
Danke
Peter

alzaimar 31. Jan 2006 17:15

Re: Query auf "ohne Ergebnis" überprüfen
 
Du kannst doch auch einfach das Feld abfragen:
Delphi-Quellcode:
If MyQuery.FieldByName('MySumField').IsNull Then ...
[edit]Schwachsinnscode verbessert, dank PASST [/edit]

PASST 31. Jan 2006 17:17

Re: Query auf "ohne Ergebnis" überprüfen
 
Die Eigenschaft SumField gibt es unter Delphi 4 nicht.

alzaimar 31. Jan 2006 17:21

Re: Query auf "ohne Ergebnis" überprüfen
 
In Delphi 6 auch nicht :mrgreen: , Hupsa, sollte natürlich das persistente Feld sein. Ich korrigiere das.

PASST 31. Jan 2006 17:27

Re: Query auf "ohne Ergebnis" überprüfen
 
Hm, das hört sich an und sieht dann natürlich nach einer praktikablen Lösung aus. Kann es denn den Fall geben, dass der Wert eines der Felder im Normalfall NULL annehmen kann, während die anderen Felder korrekt ausgefüllt werden?

marabu 31. Jan 2006 17:33

Re: Query auf "ohne Ergebnis" überprüfen
 
Ich denke wahrscheinlich zu kompliziert, aber meine Testdaten sahen so aus:

Code:
ID,ART_ID,MENGE,JAHR,MONAT
1,1,10,2005,1
2,1,20,2005,1
3,1,30,2005,2
4,1,40,2004,12
5,2,null,2006,1
SQL-Code:
select jahr, sum(menge) as summe, count(*) as recs
from umsatz
group by jahr
order by jahr
Das Ergebnis sieht dann so aus:
Code:
JAHR,SUMME,RECS
2004,40,1
2005,60,3
2006,null,1
marabu

alzaimar 31. Jan 2006 17:34

Re: Query auf "ohne Ergebnis" überprüfen
 
Kommt auf den Fall an. Eine Tabelle, in der in einer Spalte nur NULL-Wert stehen, in der anderen aber Zahlen, würde bei einer Summierung der Spalte2 natürlich NULL ergeben. Ich wollte nur mal zeigen, das man ein Feld auch auf NULL testen kann.

Im Prinzip würde ich auch marabus Lösung nehmen. Da der Server sowieso durch die Tabelle iterieren muss (wegen der Aggregate) kann er ohne Performanceverlust auch gleich mitzählen.

marabu 31. Jan 2006 17:45

Re: Query auf "ohne Ergebnis" überprüfen
 
Hihi.

Im Trivialfall - eine Ergebniszeile und keine Anomalien in den Daten - nehme ich immer alzaimars Lösung.

marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:34 Uhr.
Seite 1 von 2  1 2      

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