Показать сообщение отдельно
  #3  
Старый 08.11.2010, 23:47
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,087
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

1. Пытаемся подключиться к БД. Если ошибка - то явно проблемы с файлом.
2. Делаем запрос нужного поля из нужной таблицы. Если ошибка - ну значит не туда попали.
3. проверяем полученное значение. Не то - значит неправильная БД.

Код:
function OpenDB(AFileName : String);
begin
  Try
    Try
      ADOConnection.DBName := AFileName; // Здесь типа правим строку подключения, сорри, delphi под рукой нет
      ADOConnection.Open;
      ADOQuery.SQL.Text := 'SELECT INIT FROM INIT';
      ADOQuery.Open;
      If ADOQuery.RecordCount = 0 Then
        Raise Exception.Create('No records.');
      If ADOQuery.FieldbyName('INIT').AsInteger <> 101 Then // проверяемое значение
        Raise Exception.Create('Wrong key value.');
      Result := True;
    Finally
       ADOQuery.Close;
    End;
  Except
     If ADOConnection.Connected then ADOConnection.close;
     Result := False;
  End;
end;
Ответить с цитированием