Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
 
Salpson
1 / 1 / 0
Регистрация: 15.04.2013
Сообщений: 42
#1

Условия на корректность базы данных Access

29.12.2013, 18:11. Просмотров 386. Ответов 5
Метки нет (Все метки)

Нужна проверка, которая будет проверять корректность базы данных Access
Другими словами. Для подключения бд я использую компонент ADOConnection1
If база данных не является её (например переименовав текстовый документ в Groups.mdb) then бла бла бла
Если проверок не делать, то выскакивает стд. ошибка, что база данных не корректная. Мне этой ошибки не надо.

Добавлено через 2 часа 2 минуты
Или можно сделать как то такую проверку?
Delphi
1
if (ADOConnection1.Connected:=True)=False then Exit;
Конструкция конечно же тут неправильная, но суть в том что при ADOConnection1.Connected:=True как раз и подключается наша база данных, если она не сможет подключиться, то значение сбрасывается на False.

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.12.2013, 18:11
Ответы с готовыми решениями:

Открытие базы данных Access
Ребята не подскажите как открыть базу bd.mdb , по нажатию на кнопку. Имею...

Защита базы данных Access
Я поставил пароль на базу данных access ,но dbgrid теперь не видит базу. Куда и...

Выборка из базы данных Access по условию
Помогите, пожалуйста поправить код... Задача: Есть база данных. В ней две...

Перенос базы данных Sql на MS access
Здравствуйте ребят.Такая проблемка после экспорта базы данных с sql на акссес...

Вывести список с Базы Данных Access
Как можно сделать что бы в DBComboBox выводились данные одной таблицы. После...

5
HyperZen
488 / 242 / 55
Регистрация: 16.06.2011
Сообщений: 838
29.12.2013, 19:12 #2
Delphi
1
2
3
4
5
try
...
except
...
end;
1
Salpson
1 / 1 / 0
Регистрация: 15.04.2013
Сообщений: 42
30.12.2013, 23:36  [ТС] #3
HyperZen,
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
procedure TForm2.FormShow(Sender: TObject);
var
  I:Integer;
begin
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('SELECT ID FROM ');
    ADOQuery1.SQL.Add('Questions');
  Try
    ADOQuery1.Active:=True;
  Except
    Exit;
  end;
 
  Memo1.Lines.Clear;
  for I:=1 to ADOQuery1.RecordCount do
  begin
    Memo1.Lines.Add(ADOQuery1.Fields[0].AsString);
    ADOQuery1.Next;
  end;
end;
Почему то вылетает ошибка на ADOQuery1.Active:=True; ведь по идеи он просто должен остановить дальнейшую проверку. Ошибка в плане, что не найдено поле Questions
0
HyperZen
488 / 242 / 55
Регистрация: 16.06.2011
Сообщений: 838
02.01.2014, 14:11 #4
Значит сам запрос выполняется неправильно.
Лучше будет, если Вы заключите все, что касается ADOQuery в логические скобки try..except:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
procedure TForm2.FormShow(Sender: TObject);
var
  I:Integer;
begin
  Try
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('SELECT ID FROM ');
    ADOQuery1.SQL.Add('Questions');
    ADOQuery1.Active:=True;
  Except
    Exit;
  end;
 
  Memo1.Lines.Clear;
 
  ADOQuery1.First;
 
  while not ADOQuery1.Eof do
  begin
    Memo1.Lines.Add(ADOQuery1.Fields[0].AsString);
    ADOQuery1.Next;
  end;
end;
Оператор исключения будет отрабатывать нормально вне IDE (запустите скомпилированный exe-файл отдельно).

И код ошибки лучше бы увидеть полностью.
0
Salpson
1 / 1 / 0
Регистрация: 15.04.2013
Сообщений: 42
02.01.2014, 16:28  [ТС] #5
HyperZen, спасибо, сейчас все работает правильно. Хотя я так пробовал ранее, но ошибка была...
Пользуясь случаем, хотел узнать для чего нам ADOQuery1.First; в начале? (без него тоже вроде как работает)
И что значит Eof ? заранее спасибо.
0
HyperZen
488 / 242 / 55
Регистрация: 16.06.2011
Сообщений: 838
03.01.2014, 11:09 #6
First - чтобы курсор точно стоял на первой записи в выборке.
Eof - если примерно, то "пока не конец" выполнять действия...
1
03.01.2014, 11:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.01.2014, 11:09

Не могу отобразить таблицу из базы данных MS Access!
В DBGrid не отображаются данные таблицы БД MS Access. Перемещаю на форму...

Как программно удалить таблицу из базы данных Access?
Как в базе данных MS Access удалить таблицу программно???:help:

Как присвоить значение колонке базы данных Access
Здравствуйте. Такой вот вопрос у меня. Как присвоить значение колонке базы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru