Hallo,
um immmer auf den aktuellen Datenstand zurück zugreifen, setzte ich sehr oft die Resync - Methode vom Object TAdoDataSet.Recordset ein. Da nicht jeder Provider den Methodenaufruf unterstützt, sieht der Code zur Zeit folgendermaßen aus:
<pre>
//************************************************** ***********************
procedure adoResyncCurrent(Const DataSet : TAdoDataSet);
begin
// Resync nur bei clUseClient möglich
if DataSet.CursorLocation <> clUseClient then Exit;
with DataSet.Recordset do
begin
if RecordCount = 0 then Exit; // Patch: bei leerer Datei nicht möglich
Resync(adAffectCurrent,adResyncAllValues);
end;
end;
</pre>
Die Abprüfung auf die clUseClient reicht glaube nicht aus um ganz sicher zu gehen. Ich habe irgendwo schon einmal gelesen das man zur Laufzeit den Provider fragen kann, welche Methoden unterstützt werden. Kann mir jemand sagen wie das geht ?
Gruß Mathias
um immmer auf den aktuellen Datenstand zurück zugreifen, setzte ich sehr oft die Resync - Methode vom Object TAdoDataSet.Recordset ein. Da nicht jeder Provider den Methodenaufruf unterstützt, sieht der Code zur Zeit folgendermaßen aus:
<pre>
//************************************************** ***********************
procedure adoResyncCurrent(Const DataSet : TAdoDataSet);
begin
// Resync nur bei clUseClient möglich
if DataSet.CursorLocation <> clUseClient then Exit;
with DataSet.Recordset do
begin
if RecordCount = 0 then Exit; // Patch: bei leerer Datei nicht möglich
Resync(adAffectCurrent,adResyncAllValues);
end;
end;
</pre>
Die Abprüfung auf die clUseClient reicht glaube nicht aus um ganz sicher zu gehen. Ich habe irgendwo schon einmal gelesen das man zur Laufzeit den Provider fragen kann, welche Methoden unterstützt werden. Kann mir jemand sagen wie das geht ?
Gruß Mathias
Comment