Bugfix: Handle errors which happen during "async" query execution.

This commit is contained in:
rosenfield
2007-10-05 13:03:24 +00:00
parent d616f1bdce
commit fccb838455

View File

@ -231,18 +231,24 @@ begin
end; end;
end; end;
end else begin end else begin
if ExpectResultSet(FSql) then begin try
r := RunDataQuery (FSql,TDataSet(q),ex,FCallback); if ExpectResultSet(FSql) then begin
if r then begin r := RunDataQuery (FSql,TDataSet(q),ex,FCallback);
if q.State=dsBrowse then begin if r then begin
// WTF? if q.State=dsBrowse then begin
// WTF?
end;
end; end;
end; end else r := RunUpdateQuery (FSql,TDataSet(q),ex,FCallBack);
end else r := RunUpdateQuery (FSql,TDataSet(q),ex,FCallBack); TMysqlQuery(FOwner).SetMysqlDataset(q);
TMysqlQuery(FOwner).SetMysqlDataset(q);
if r then SetState (MQR_SUCCESS,'SUCCESS') if r then SetState (MQR_SUCCESS,'SUCCESS')
else SetState (MQR_QUERY_FAIL,ex.Msg); else SetState (MQR_QUERY_FAIL,ex.Msg);
except
on E: Exception do begin
SetState (MQR_QUERY_FAIL,Format('%s', [E.Message]));
end;
end;
end; end;
end; end;