![]() |
RecordCount zeigt verschiedene Ergebnisse [erledigt]
Hi,
ich habe folgendes:
Delphi-Quellcode:
Warum erhalte ich für die zwei Abfragen jeweils zwei verschiedene Ergebnisse, obwohl die Tabelle leer ist?
...
with Query do begin SQL.Add('SELECT '+FieldName); SQL.Add('FROM '+Tablename); SQL.Add('WHERE valid is not NULL '); Open; // Da die Tabelle leer ist, ist Recordcount hier auch 0 if Query.RecordCount<>0 then result:= IntToStr(StrToInt(Fields[0].AsString)) else begin Close; SQL.Clear; SQL.Add('SELECT max('+FieldName+')'); SQl.Add('FROM '+TableName); SQL.Add('WHERE valid is null or valid='+QuotedStr('0')); Open; // diese Abfrage liefert aber 1 if Query.RecordCount=0 then result:= IntToStr(1) Liefert max etwa einen Datensatz zurück? Warum? Habe ich etwas wesentliches übersehen? |
Re: RecordCount zeigt verschiedene Ergebnisse
Als Aggregatfunktion wird dir Max ( genau wie Min, count,...) immer pro Gruppierung 1 Datensatz leifern.
Nüscht ( :mrgreen: ) ist in dem Fall auch eine Gruppierung, er zeigt dir den größten Inhalt an, nämlich einen Datensatz in dem nüscht drin steht. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:50 Uhr. |
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 by Thomas Breitkreuz