![]() |
Datenbank: Firebird • Version: 1.5.2.4731 • Zugriff über: Zeos 6.1.5 Patch 2
Count-Fehler
Ich versuche die Anzahl der Einträge einer Tabelle anzeigen zu lassen und benutze folgenden Code :
dmEasyQuery.qryCustomer.SQL.Add('SELECT count(*) as anzahl FROM CUSTOMER'); dmEasyQuery.qryCustomer.Open; Es erscheint eine Fehlermeldung, das das Feld 'Cust_No' nicht gefunden wurde. 'Cust_No' ist aber sehr wohl in der Tabelle enthalten. Wieso will diese Abfrage überhaupt etwas von 'Cust_No'? Liegt es daran, das der Primäre Index auf dieses Feld zeigt? Da ich ein Anfänger bin, benutze ich erstmal die Beispieldatenbank employee.fdb, die bei Zweos dabei war. Wie kann ich mit der IBO-Console den Primären Index auf ein anderes Feld anlegen oder anders gefragt, wie kann ich überhaupt Felder für eine schnelle Suche indizieren? |
Re: Count-Fehler
Moin! Ist noch etwas früh, aber läuft es ohne "as anzahl"
Gruss glunzl |
Re: Count-Fehler
Zitat:
@eröffner ja, daran liegt es wohl. du machst aber nen großen, perfomancemäßig riesigen fehler. du selektierst total unnötig die gesamte tabelle. an deiner stelle würde ich etwas wie SELECT COUNT(`id`) schreiben. Ich hoffe du hast ne ID, denn sowas gehört normal in ne tabelle rein =) air |
Re: Count-Fehler
Zitat:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var anzahl : Integer; begin qryCustomer.Close; qryCustomer.SQL.Text := 'SELECT COUNT(id) FROM customer'; qryCustomer.Open; anzahl := qryCustomer.Fields[0].AsInteger; end; |
Re: Count-Fehler
wenn qryCustomer irgend was mit TDataSet zu tun hat würd ich einfach
qryCustomer.RecordCount mal beanspruchen. :) auserdem count(*) naja nimm den Primary Key und schau dann nocheinmal. |
Re: Count-Fehler
Zitat:
Die Lösung von Sharky hab ich auch immer genutzt und das funktionuckelt. André |
Re: Count-Fehler
Zitat:
Zitat:
Wenn du mir das nicht glauben solltest schlag selber in der OH nach. :) |
Re: Count-Fehler
Mit den IBX-Komponenten hat das ebenfalls nie hingehauen. Du benutzt die BDE und dort ist das auch so wie du es schreibst.
André |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:47 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