Zitat von
trifid:
vielleicht ist es anders bei einen TADODataSet ?
Das Bug wurde schon in
TCustomADODataSet eingeführt.
siehe
Unit ADODB.pas Line 3445 ff:
Delphi-Quellcode:
procedure InitializeRecordset;
begin
FRecordsetObject := CreateADOObject(CLASS_Recordset) as _Recordset;
Recordset.CursorLocation := CursorLocationValues[FCursorLocation];
Recordset.CacheSize := FCacheSize; // <-------
Recordset.MaxRecords := FMaxRecords; // <-------
if FIndexName <> '' then
begin
Recordset.Index := FIndexName;
RefreshIndexFields;
end;
EnableEvents;
end;
var
VarRecsAffected: OleVariant;
begin
if not Assigned(Recordset) then
begin
InitializeConnection;
// InitializeRecordset wird nur aufgerufen, wenn noch kein Recordset erzeugt wurde.
// blöderweise werden dabei auch CacheSize & MaxRecords zugewiesen
//
InitializeRecordset;
Recordset.Open(Source, ActiveConnection,
CursorTypeValues[FCursorType], LockTypeValues[FLockType],
CommandTypeValues[CommandType] + ExecuteOptionsToOrd(ExecuteOptions));
Zitat von
trifid:
oder die Kompo's von TADOBetterDataSet ?
Könnte sein; weiss nicht.
Andererseits könntest du auch mal versuchen:
ADOQuery1.RecordSet.MaxRecords := 100;