![]() |
Datenbank: SQLite • Version: 3 • Zugriff über: Zeos
IsEmpty funktioniert nicht bei SELECT MAX ...
Hallo,
ich habe ein kleines Problem. Eine einfache Abfrage 'SELECT MAX(Id) FROM barcodes' soll die höchste ID zurückliefern, dass funktioniert wenn mind. ein Eintrag in der Datentabelle besteht. Mein Problem ist jetzt, dass es vorkommen kann, dass kein Eintrag in der Datentabelle steht und dann habe ich ein Problem, da ich beim Übernehmen in eine Integervariable eine Fehlermeldung "Ist kein gültiger Integerwert" bekomme. Wie kann ich denn prüfen, ob ein Wert zurückkam. Mit ZQuery.IsEmpty und ZQuery.RecNo funktioniert das leider nicht. |
Re: IsEmpty funktioniert nicht bei SELECT MAX ...
Frag den Spaltenwert doch als String ab und wende selbst StrToIntDef(Wert, 0) an.
|
Re: IsEmpty funktioniert nicht bei SELECT MAX ...
So habe ich es jetzt gelöst, aber das gefällt mir nicht so wirklich.
Ich dachte da gibts was eleganteres. :-D |
Re: IsEmpty funktioniert nicht bei SELECT MAX ...
Hallo,
das ist aber wohl SQL-Standard Max(NULL) = NULL (0 darf er nicht, es könnte ja ein Datensatz mit genau 0 drinstehen). Select Max() liefert NULL, wenn keine Datensätze in der Tabelle sind. Fields[0].IsNull sollte funktionieren. Heiko |
Re: IsEmpty funktioniert nicht bei SELECT MAX ...
Danke! Das ist es. :thumb:
|
Re: IsEmpty funktioniert nicht bei SELECT MAX ...
Zitat:
Delphi-Quellcode:
sollte genau so gut funktionieren.
VarIsNull(FieldByName('xy').AsVariant)
|
Re: IsEmpty funktioniert nicht bei SELECT MAX ...
Zitat:
SQL-Code:
SELECT MAX(Id) AS MaxID, Count(*) AS Anzahl FROM barcodes
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:29 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-2025 by Thomas Breitkreuz