Zitat von
erich.wanker:
Wenn ich den Switch abdrehe - und in einem DBGrid den nächsten record anklicke - kommt:
Zitat:
SQL Error: Unable to complete network request to host"@1". Error writing data to the connection. Eine vorhandene verbindung wurde vom Remotehost geschlossen.
. Error Code: -902. Unsuccessful execution caused by a system error that precludes successful execution of subsequent statements The
SQL: Select trallala ....
..
Erich
Das ist der Nachteil bei
RAD: es geht schnell, aber es geht auch schnell wieder kaputt
Das DBGrid hat keine Eventhandler, in dem man die
Exception abfangen könnte. Auf Applikationsebene oder mit madExcept könnte man es global abfangen. Dann hat man aber recht wenig Kontextinformationen, mit denen man dann die Abfrage hinter dem Grid schliessen und dann nach einer Retry-Message wieder öffnen könnte.
Mit ClientDataSet kann man in etwa so arbeiten:
Delphi-Quellcode:
Query.Close;
try
Query.ParamByName('
...').AsInteger := ...
Query.Open;
Connection.Close;
// Verbindung darf getrennt werden, da ClientDataSet die Daten puffert
except
on E:...Exception
do
begin
if FragDenUser('
Retry?')
then
begin
VersuchsNocheinmal;
end;
end
end;