Entwickler-Ecke

Datenbanken - Anzahl Datensätze ermitteln


Olli_Sahr - So 09.04.06 12:29
Titel: Anzahl Datensätze ermitteln
Hallo,

ich habe Delphi 7 und die KaDao installiert (KaDao 9.0 und KaDaoControls 8.0).

Ich habe in meiner Anwendung eine KaDaoTable namens "TBL_Kunde" und eine namens "TBL_SQL" für SQL Abfragen.

Ich habe eine Procedure, die alle Datensätze in der Kundentabelle überprüft.
Das mache ich über die SQL Tabelle:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
DataModule.TBL_SQL.SQL.Add('select * from Kunden');
DataModule.TBL_SQL.Open;
DataModule.TBL_SQL.First;

while not (DataModule.TBL_SQL.Eof) do
begin
  // Mache irgendwas
  // Gib mal den Nachnamen des Kunden aus (zu Testzwecken)
  ShowMessage(DataModule.TBL_SQL.FieldValues['Nachneme']);
  DataModule.TBL_SQL.Next;
end;


Das funktioniert........

Was ich jetzt brauche ist die Anzahl meiner Datensätze.
Ich habe keine Ahnung, wie das gehen soll.

Ich kann zwar per SQL einen Befehl absetzen (so wie oben beschrieben), aber wie bekomme ich den Wert (Anzahl) wieder zurück?

Der SQL Befehl müsste meines Wissens (so weit ich in SQL fit bin) so aussehen:


Delphi-Quelltext
1:
DataModule.TBL_SQL.SQL.Add('SELECT count(Kunden_ID) AS MeineSumme FROM Kunden');                    


Aber es hapert daran, wie ich die Daten bekomme.


Delphi-Quelltext
1:
ShowMessage(DataModule.TBL_SQL.FieldValues['MeineSumme']);                    


Wirft einen Fehler (Feld "MeineSumme" gibt es nicht).

Ich bin in SQL noch neu, daher bitte ich Euch um Hilfe.

Danke


OLLI


mkinzler - So 09.04.06 12:45

Versuch mal DataModule.TBL.RecordCount wenn TBL ein DatSet ist müßte es diese Eigenschaft haben.


Delete - So 09.04.06 12:53


Delphi-Quelltext
1:
2:
3:
q.sql.add('select count(*) from DeinerTabelle');
q.open;
DeineVariableAnzahlDatensaetze := q.fields[0];


Der Rückgabewert ist im ersten feld gespeichert. alternativ kannst du .RecordCount verwenden.


Olli_Sahr - Mo 10.04.06 17:18

DANKE, das hat mir wirklich geholfen.