AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

SQL SELECT COUNT(*)

Ein Thema von Snyderburn · begonnen am 20. Okt 2003 · letzter Beitrag vom 21. Okt 2003
Antwort Antwort
Seite 1 von 2  1 2      
Snyderburn

Registriert seit: 19. Sep 2003
85 Beiträge
 
Delphi 2005 Architect
 
#1

SQL SELECT COUNT(*)

  Alt 20. Okt 2003, 14:31
Hi!

Ich habe ein kleines Problem mit einer SQL abfrage. Die Abfrage lautet:

SELECT COUNT(*) FROM Anschrift Mit dem Programm IBExpert, womit ich mich auf meine Datenbank connecte, da funktioniert die Abfrage 100%ig. Stelle ich aber die Abfrage in mein Delphi prog rein, dann kommt immer ne Fehlermeldung.

Hier ist der Code:
Delphi-Quellcode:
dm1.q_intern.Close;
dm1.q_intern.SQL.Clear;
dm1.q_intern.SQL.Add('SELECT COUNT(*) FROM Anschrift');
dm1.q_intern.Open;
Habe ich da irgendwie etwas vergessen?

mfg
Snyderburn

[edit=sakura]Delphi durch SQL-Tags ersetzt. Mfg, sakura[/edit]
  Mit Zitat antworten Zitat
Tanadirian

Registriert seit: 13. Feb 2003
Ort: Pdm
67 Beiträge
 
#2

Re: SQL SELECT COUNT(*)

  Alt 20. Okt 2003, 14:37
Wie lautet denn die Fehlermeldung?
  Mit Zitat antworten Zitat
Alibi

Registriert seit: 15. Aug 2003
Ort: Bispingen
94 Beiträge
 
Delphi 7 Personal
 
#3

Re: SQL SELECT COUNT(*)

  Alt 20. Okt 2003, 14:37
Das ist zwar nicht die Lösung deines Problems, aber ich würd den Query anders machen, so ist der viel zu rechenaufwendig. SELECT Count(id) FROM Anschrift oder wie auch immer ein Feld heißt, was bei dir in jedem Datensatz vorhanden ist.
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning.
  Mit Zitat antworten Zitat
Snyderburn

Registriert seit: 19. Sep 2003
85 Beiträge
 
Delphi 2005 Architect
 
#4

Re: SQL SELECT COUNT(*)

  Alt 20. Okt 2003, 14:46
Die Fehlermeldung lautet:

Im Projekt Projekt.exe ist eine Exception der Klasse EDatabaseError aufgetreten. Meldung: 'DBLookupComboBox1: Das Feld 'ID_ANSCHRIFT' wurde nicht gefunden'. Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzten
  Mit Zitat antworten Zitat
Tanadirian

Registriert seit: 13. Feb 2003
Ort: Pdm
67 Beiträge
 
#5

Re: SQL SELECT COUNT(*)

  Alt 20. Okt 2003, 14:59
Das hat ja erstmal nichts mit der Abfrage zu tun, so wie ich das sehe. Lass das Prog doch mal zeilenweise laufen und sieh nach wo genau der Fehler auftritt. Ich schätze du willst das Ergebnis in der Combo anzeigen, oder?
  Mit Zitat antworten Zitat
woki

Registriert seit: 29. Mär 2003
563 Beiträge
 
Delphi 2006 Architect
 
#6

Re: SQL SELECT COUNT(*)

  Alt 20. Okt 2003, 15:16
Hi,

etwas vollständigere Informationen sind schon sehr sinnvoll, damit man helfen kann und nicht so im Dunkeln stocher.

Also, ich nehme mal an Du Verwendest eine TQuery-Komponente, die du vorher schon anders verwendest hast, heißt die Komponente hat persistente Feldkomponenten, die dann von Deiner Abfrage nicht zurückgeliefert werden.

Mach mal nen Doppelclick auf die TQuery-Komponente, dann geht der Feldeditor auf, und wahrscheinlich stehen da dann Felder drin, die alle löschen.

Das sollte es gewesen sein.

Ach so, die Combobox aus der Fehlermeldung, nimm da mal die Datasources weg, das ist wohl noch eher der Grund, diese Combobox will daten zurückhaben von der Query, die diese nicht liefert.

Grüsse
Woki
  Mit Zitat antworten Zitat
Snyderburn

Registriert seit: 19. Sep 2003
85 Beiträge
 
Delphi 2005 Architect
 
#7

Re: SQL SELECT COUNT(*)

  Alt 21. Okt 2003, 07:48
Also:

Ich habe den Code mal in eine TQuery-Komponente gepackt, die ich ganz Neu erstellt habe. Ich habe die Komponente noch nicht mit der DataSource verknüpft, dann kommt keine Fehlermeldung, aber es muß ja eben noch eine Verknüofung mid der DataSource stattfinden. Mache ich das, dann kommt die gleiche Fehlermeldung wie schon beschrieben (siehe oben).

Das Problem, was ich nun habe ist, dass ich ein Table habe, welches Daten zur DBLookupCombobox liefert. Benutzt ich nun die Query-Komponente dann werde die Daten nicht geliefert und die Fehlermeldung kommt. (Danke für den Hinweis, woki)

Gibt es denn eine einfachere Möglichkeit um herauszufinden, wieviel Datensätze sich in der Tabelle befinden?

Ich habe es schon mit diesem Code versucht, der ist aber viel zu langsam:

Delphi-Quellcode:
x := 0;
dm1.T_Anschrift.First;
repeat
  x := x + 1;
  dm1.T_Anschrift.Next;
until dm1.t_anschrift.Eof;
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#8

Re: SQL SELECT COUNT(*)

  Alt 21. Okt 2003, 08:20
Zitat von Snyderburn:
...Gibt es denn eine einfachere Möglichkeit um herauszufinden, wieviel Datensätze sich in der Tabelle befinden?....
Hai,

warum nicht

TQuery1.RecordCount
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Snyderburn

Registriert seit: 19. Sep 2003
85 Beiträge
 
Delphi 2005 Architect
 
#9

Re: SQL SELECT COUNT(*)

  Alt 21. Okt 2003, 08:54
Danke für die Hilfe! Es hat bestens geklappt.

Zitat von Sharky:
Zitat von Snyderburn:
...Gibt es denn eine einfachere Möglichkeit um herauszufinden, wieviel Datensätze sich in der Tabelle befinden?....
Hai,

warum nicht

TQuery1.RecordCount
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#10

Re: SQL SELECT COUNT(*)

  Alt 21. Okt 2003, 09:01
Hai Snyderburn,

nur als Info. Du kannst es natürlich auch in deinen SQL-Befehl einarbeiten.

SELECT *, COUNT(id) AS anzahl FROM Anschrift Dann hast Du zum einen alle Felder der Tabelle und zusätzlich noch das Feld anzahl.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  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 21:30 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