AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Select funktioniert nicht
Thema durchsuchen
Ansicht
Themen-Optionen

Select funktioniert nicht

Ein Thema von hsbc · begonnen am 6. Mär 2006 · letzter Beitrag vom 6. Mär 2006
Antwort Antwort
Seite 1 von 2  1 2      
hsbc

Registriert seit: 28. Jan 2004
Ort: Krems/Donau
404 Beiträge
 
Delphi 7 Professional
 
#1

Select funktioniert nicht

  Alt 6. Mär 2006, 10:21
Datenbank: Firebird • Version: 1.5.3 • Zugriff über: Zeos
Hallo allerseits,

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

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.

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
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Select funktioniert nicht

  Alt 6. Mär 2006, 10:33
Zitat von hsbc:
Hallo allerseits,

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

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?

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 ?
Markus Kinzler
  Mit Zitat antworten Zitat
franktron

Registriert seit: 11. Nov 2003
Ort: Oldenburg
1.446 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#3

Re: Select funktioniert nicht

  Alt 6. Mär 2006, 10:53
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
Frank
Tux sein Lieblingsquellcode
While anzfische<TuxSatt do begin
Fisch:=TFisch.Create; Tux.EssenFisch(Fisch); Fisch.Free;inc(anzfische); end;
  Mit Zitat antworten Zitat
hsbc

Registriert seit: 28. Jan 2004
Ort: Krems/Donau
404 Beiträge
 
Delphi 7 Professional
 
#4

Re: Select funktioniert nicht

  Alt 6. Mär 2006, 11:08
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
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Select funktioniert nicht

  Alt 6. Mär 2006, 11:10
2 verschiedene Queries /(TQuery-Kompoenneten) verwenden.
Markus Kinzler
  Mit Zitat antworten Zitat
hsbc

Registriert seit: 28. Jan 2004
Ort: Krems/Donau
404 Beiträge
 
Delphi 7 Professional
 
#6

Re: Select funktioniert nicht

  Alt 6. Mär 2006, 11:26
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
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#7

Re: Select funktioniert nicht

  Alt 6. Mär 2006, 11:39
Hallo Herbert,

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
  Mit Zitat antworten Zitat
hsbc

Registriert seit: 28. Jan 2004
Ort: Krems/Donau
404 Beiträge
 
Delphi 7 Professional
 
#8

Re: Select funktioniert nicht

  Alt 6. Mär 2006, 12:09
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
  Mit Zitat antworten Zitat
hsbc

Registriert seit: 28. Jan 2004
Ort: Krems/Donau
404 Beiträge
 
Delphi 7 Professional
 
#9

Re: Select funktioniert nicht

  Alt 6. Mär 2006, 12:11
Ergänzend muss ich noch sagen, dass KUNDENNR bei mir indiziert ist.

mfg
Herbert
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#10

Re: Select funktioniert nicht

  Alt 6. Mär 2006, 12:15
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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:09 Uhr.
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