Как проверять корректность доступа к базе данных?

Previous  Top  Next

    
 

 

 

Следующая функция проверяет доступ к базе данных и выдает возможные причины, если доступ не удается осуществить. Функция возвращает значение True в случае успешной операции и False в противном случае.

Code:

function TBDEDirect.CheckDatabase: Boolean;

var DS: TDataSource;

begin

Result := False;

DS := GetDataSource;

if DS = nil then

   begin

     MessageDlg('Не установлена связь с элементом-источником данных.'+

       'Проверьте установку свойства DataSource.',

       mtError, [mbOK], 0);

     Exit;

   end;

if DS.DataSet = nil then

   begin

     MessageDlg('Доступ к базе данных невозможен.', mtError,[mbOK], 0);

     Exit;

   end;

if TDBDataSet(DS.DataSet).Database = nil then

   begin

     MessageDlg('Доступ к базе данных невозможен.', mtError,[mbOK], 0);

     Exit;

   end;

if TDBDataSet(DS.DataSet).Database.Handle = nil then

   begin

     MessageDlg('Дескриптор (Handle) БД недоступен.', mtError,[mbOK], 0);

     Exit;

   end;

if DS.DataSet.Handle = nil then

   begin

     MessageDlg('Дескриптор курсора (Cursor-Handle) недоступен.', mtError, mbOK], 0);

     Exit;

   end;

Result := True;

end;

 

©Drkb::02539