Folgende Situation:
Ne Listbox mit meinen Tabellen einer
DB (Egal ob
Access oder SAP
DB oder sonstwas), ne TADOConnection, nen TClientDataSet, nen TDataSetProvider, ne TADOQuery, ne TDataSource und ein TDBGrid.
Damit öffne ich die Tabellen
TClientDataSet.ProviderName := TDataSetProvider;
TDataSetProvider.DataSet := TADOQuery
TADOQuery.Connection := TADOConnection
TDataSource.DataSet := TADOQuery;
TDBGrid.DataSource := TDataSource;
Wenn ich jetzt ne Tabelle öffne, mach ich das so:
Delphi-Quellcode:
ADOQuery1.Active := false;
ClientDataSet1.Active := False;
// Neuen Tabellennamen eintragen
ADOQuery1.SQL.Text := 'select * from ' + ListBoxTable.Items[ListBoxTable.ItemIndex];
// Tabelle öffnen
ADOQuery1.Active := true;
ClientDataSet1.Active := True;
Wenn ich jetzt ne Tabelle öffne und im Einzelschritt das ganze durchlaufe, sehe ich, sobald der bei
ClientDataSet1.Active := True;
ist, wie jeder Datensatz einzeln abgerufen wird, ich seh also im DBGrid wie die Tabelle sich aufbaut.
Wenn ich das nur mit der
Query mache, dann nicht. Es liegt also
imho an dem ClientDataSet
Richtig? Wenn ja, wie kriegt man das hin, das der das erst anzeigt wenn er alle Datensätze geladen hat?