Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.14;
Скачать: CL | DM;

Вниз

Проверка наличия таблицы в БД Access через ADOConnection   Найти похожие ветки 

 
diabolik_krsk   (2004-10-14 14:59) [0]

Уважаемые мастера, помогите решить проблему.
Подключаю базу данных Access через ADOConnection в ходе прогона программы.

procedure TMain.ADOConnection(Sender: TObject);
begin
 ADOC:=TADOConnection.Create(main);
 ADOC.Provider:="Microsoft.Jet.OLEDB.4.0";
 ADOC.Mode:=cmShareDenyNone;
 ADOC.ConnectionString:="Data Source="+ExtractFilePath(ParamStr(0))+";Persist Security Info=False";
 ADOC.LoginPrompt:=false;
 ADOC.Name:="Connection"+IntToStr(K);
 ADOC.Connected:=true;
end;

В базе данных несколько таблиц.
Подскажите как проверить существует ли в этой базе данных таблица с определенным именем, например таблица Maintable.


 
Vlad ©   (2004-10-14 15:03) [1]

TADOConnection.GetTableNames ?


 
diabolik_krsk   (2004-10-14 15:20) [2]


> Vlad ©   (14.10.04 15:03) [1]
> TADOConnection.GetTableNames ?

Не совсем. Пробовал - по F1 оказывается что процедура предназначена для извлечения записей из БД и помещения названий таблиц в TList. У меня в программе TList нет и, в принципе, он мне не нужен.

Немного уточню вопрос. Необходимо узнать находится ли в БД таблица с определенным именем, и если она существует создать для нее TADOTable/


 
ping   (2004-10-16 12:38) [3]

по простецки попробуй - через try.. except делай то что нужно, ну а если не получится, значит не судьба - нет такой таблицы. Хотя 100% нет гарантии...
Еще путь : в Аксесе есть системная таблица, где описаны объекты БД. Поищи ее описание, и из нее по имени и типу объета(таблица) селекти строку, если есть то это она, если нет - опять не судьба...


 
sniknik ©   (2004-10-16 13:21) [4]

подумай еще раз про GetTableNames, и кстати как это не нужно TList  если нужная процедура параметы через нее передает?
хочеш см. OpenSchema (которую первая и вызывает) там в рекордсете возвращается.
через системную не советую может прав на чтение не хватить, и т.д. а итог те же данные. (без проблем в общемто, но знать надо побольше чем с GetTableNames, если хочеш чтобы нормально работало)



Страницы: 1 вся ветка

Текущий архив: 2004.11.14;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.084 c
14-1098945766
vopros
2004-10-28 10:42
2004.11.14
Что за дрянь?Касперский не ловит.


1-1099294338
Wood
2004-11-01 10:32
2004.11.14
Что в переменной типа string?


14-1098931204
Ostap Bender
2004-10-28 06:40
2004.11.14
Договор


3-1097738780
boba
2004-10-14 11:26
2004.11.14
Проблема с параметрами в FIBQuery


1-1098885298
Melamed
2004-10-27 17:54
2004.11.14
Длина исполняемого файла в различных ОС разная