Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Select funktioniert nicht (https://www.delphipraxis.net/64614-select-funktioniert-nicht.html)

hsbc 6. Mär 2006 09:21

Datenbank: Firebird • Version: 1.5.3 • Zugriff über: Zeos

Select funktioniert nicht
 
Hallo allerseits,

kann mir jemand sagen, warum dieser einfache SELECT nicht funktioniert ?

Delphi-Quellcode:
SELECT KUNDENNR FROM KUNDEN
Fehlermeldung:
Zitat:

Das Feld KundenName wurde nicht gefunden!
Was das soll? Ich will doch als Ergebnis nur die KundenNr zurückbekommen.

Delphi-Quellcode:
SELECT COUNT(*) AS MaxKunden FROM KUNDEN
funktioniert ebenfalls nicht. Hier wollte ich nur die Gesamtanzahl der Datensätze abfragen.

Weiss hier jemand Rat ???

mfg
Herbert

mkinzler 6. Mär 2006 09:33

Re: Select funktioniert nicht
 
Zitat:

Zitat von hsbc
Hallo allerseits,

kann mir jemand sagen, warum dieser einfache SELECT nicht funktioniert ?

Delphi-Quellcode:
SELECT KUNDENNR FROM KUNDEN
Fehlermeldung:
Das Feld KundenName wurde nicht gefunden!

Was das soll? Ich will doch als Ergebnis nur die KundenNr zurückbekommen.

Hast du für die Query-Komponenete Zugriffsfelder erstellt?

Delphi-Quellcode:
SELECT COUNT(*) AS MaxKunden FROM KUNDEN
funktioniert ebenfalls nicht. Hier wollte ich nur die Gesamtanzahl der Datensätze abfragen.

Weiss hier jemand Rat ???

mfg
Herbert[/quote] Was für eine Fehlermeldung ?

franktron 6. Mär 2006 09:53

Re: Select funktioniert nicht
 
Du ahst mit hoher warscheinlichkeit dei Felder in der TQeuery oder TTable fest eingeatregn guck da mal nach ob der das Feld KundenName drin ist

hsbc 6. Mär 2006 10:08

Re: Select funktioniert nicht
 
so,

bei der Abfrage mit COUNT(*) kommt die gleiche Fehlermeldung, wie oben.

Ich habe mit ZQuery keine Felder definiert. Ich verwende jedoch TDBEdit-Felder zum Anzeigen der Felder (TDBEdit.DataField) bzw. ein Grid zum Anzeigen der Felder. Vielleicht liegt dort die Ursache?

Wie könnte ich das lösen, um trotzdem mit TDBEdit die Felder anzuzeigen?

mfg
Herbert

mkinzler 6. Mär 2006 10:10

Re: Select funktioniert nicht
 
2 verschiedene Queries /(TQuery-Kompoenneten) verwenden.

hsbc 6. Mär 2006 10:26

Re: Select funktioniert nicht
 
Der erste Teilerfolgt ist schon da. Es kommen jetzt keine Fehlermeldungen mehr.

SELECT COUNT(*) FROM KUNDEN

bzw.

SELECT COUNT(*) AS MaxKunden FROM KUNDEN

funktioniert leider noch nicht.

Kennt jemand hier die genaue Syntax bzw. wie bekomme ich in das Feld MaxKunden die tatsächliche Anzahl an Datensätzen?
MaxKunden ist übrigens als LONGINT definiert.

mfg
Herbert

marabu 6. Mär 2006 10:39

Re: Select funktioniert nicht
 
Hallo Herbert,

SQL-Code:
SELECT COUNT(*) AS MaxKunden FROM KUNDEN
mit deiner Abfrage erzeugst du eine Eregbnismenge mit einer Zeile und einer Spalte. Für die Spalte hast du den Namen MaxKunden vergeben, damit FB nicht einen internen Namen verwendet. Um mit dem Ergebnis zu arbeiten musst du es erst noch in deine Variable MaxKunden übertragen - du arbeitest hier nicht mit Embedded SQL.

Delphi-Quellcode:
var
  MaxKunden: Integer;
begin
  with Query do
    MaxKunden := FieldByName('MaxKunden').AsInteger;
end;
Grüße vom marabu

hsbc 6. Mär 2006 11:09

Re: Select funktioniert nicht
 
Danke marabu,

funktioniert super.

Kannst du mir vielleicht auch sagen, ob diese Art der Abfrage schneller ist, als z.B.:

SELECT KUNDENNR FROM KUNDEN
und danach mit
MaxKunden := ZQuery.RecordCount (was ja auch funktioniert)

Jedenfalls allerbesten Dank für deinen Lösungsvorschlag.

mfg
Herbert

hsbc 6. Mär 2006 11:11

Re: Select funktioniert nicht
 
Ergänzend muss ich noch sagen, dass KUNDENNR bei mir indiziert ist.

mfg
Herbert

marabu 6. Mär 2006 11:15

Re: Select funktioniert nicht
 
Selbstverständlich ist die Aggregatfunktion, die ja auf dem Server abgearbeitet wird, schneller als die Übermittlung aller Kundennummern und das Abzählen auf dem Client, was sich hinter der property RecordCount verbirgt.

marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:25 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