Entwickler-Ecke

Datenbanken - DatasetCount liefert falsches Ergebnis


PattyPur - Fr 30.08.02 07:29
Titel: DatasetCount liefert falsches Ergebnis
also ich habe eine Acces - Datenbank Die ich nun mit Delphi auslesen muss

das öffnen klappt auch prime um den loginprompt zu umgehen habe ich dit TdataBase Componente gewählt (hatte vorher 3 TTable)

nun öffne ich die DB folgendermaßen:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
  Database1.AliasName:='Drucker';
  Session.getaliasparams('Drucker',Database1.params);
  Database1.Params.Values['USER NAME']:='USER';
  Database1.Params.Values['PASSWORD']:='passwort';
  Database1.DatabaseName:='Drucker';
  Database1.Connected:=true;
  form1.caption:=inttostr(Database1.DataSetCount);


ich weis das da 3 tabellen drin sind aber ich habe in der Caption der Form immer nur 0 stehen - gibt es probleme mit Access datenbanken ?
oder einen anderen weg die tabellen herauszubekommen ?
also die TTable komponente wusste sofort welche Tabellen in der DB vorhanden sind.


Alfons-G - Fr 30.08.02 12:47

Aus der Delphi-Hilfe:
Zitat:
Mit DataSetCount können Sie die Anzahl der Datenmengen in der Eigenschaft DataSets ermitteln. Dieser Wert wird in den verschiedenen, von TCustomConnection abgeleiteten Klassen unterschiedlich behandelt. Bei den Komponenten TDatabase und TADOConnection werden nur die aktiven Datenmengen aufgeführt.
Das heisst, Du musst die Tabellen zuerst auf aktiv setzen.
Die Komponente TDatabase erspart Dir nicht die Verwendung von TDataset-, TTable- oder TQuery-Komponenten. Sie gibt Dir lediglich die Kontrolle über viele Funktionen, welche die BDE ansonsten automatisch erledigt, so z.B. das Login.

Du platzierst also wie früher Deine drei TTable-Kompos (bzw. erzeugst sie zur Laufzeit), trägst als Eigenschaft "Database" deine "Database1" ein und fertig.

:idea: