![]() |
Datenbank: Firebird • Version: 2.5 • Zugriff über: TIB
Firebird und Delphi7 SELECT
Hallo,
das ist jetzt vielleicht eine blöde Frage, aber ich suche schon seit Stunden und kann nichts finden. Wie komme ich an das Ergebnis einer SELECT-Abfrage mit Delphi7-TIB und Firebird??? Mit Delphi2009 und MSSQL ist das ja kein Problem, aber irgendwie funktioniert das hier anders und ich weiß nicht wie? So sieht meine aktuelle Version aus:
Delphi-Quellcode:
:wall:
IB_Query.SQL.Clear;
IB_Query.SQL.Append('SELECT MAX(ID) FROM BPATH'); IB_Query.Open; id:= IB_Query.FieldByName('BPATH.ID').AsInteger; |
AW: Firebird und Delphi7 SELECT
Hallöle... :wink:
versuch mal:
Delphi-Quellcode:
IB_Query.SQL.Text:= 'SELECT MAX(ID) FROM BPATH';
IB_Query.Open; id:= IB_Query.FieldByName('ID').AsInteger; |
AW: Firebird und Delphi7 SELECT
Das Feld heisst anders. Gibt ihm am Besten einen Namen:
Delphi-Quellcode:
IB_Query.SQL.Text := 'SELECT MAX(ID) as MaxID FROM BPATH';;
IB_Query.Open; id:= IB_Query.FieldByName('MaxID').AsInteger; |
AW: Firebird und Delphi7 SELECT
Oder über den Feldindex zugreifen.
Delphi-Quellcode:
id:= IB_Query.Fields[0].AsInteger;
|
AW: Firebird und Delphi7 SELECT
Zitat:
|
AW: Firebird und Delphi7 SELECT
Da Max eine Aggregatfunktion ist heisst das Feld in der Ergebnismenge normalerweise anders: MAX, Max_ID, maxid, ....(kommt auf die Bibliothek an'). Es kann natüprlich sein, dass es bei Zeos dann genauseo wie das Quellfeld heisst.
Nur wie heisst es dann bei einer Abfrage wie
SQL-Code:
?
select MIN(ID), MAX(ID), SUM(ID), AVG(ID) from <Tabelle>;
|
AW: Firebird und Delphi7 SELECT
Es kann ja nicht darum gehen, was erstmal die wenigste Arbeit macht, sondern darum, was zuverlässig funktioniert (auch wenn man später evtl. eine andere Zugriffsbibliothek verwendet).
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:01 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