![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проверка наличия таблицы в БД Access через ADOConnection [D6, Access(mdb)]
diabolik_krsk © (2004-10-14 14:59:00)Уважаемые мастера, помогите решить проблему.
Подключаю базу данных 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.
sniknik (2004-10-16 13:21:00) [1]подумай еще раз про GetTableNames, и кстати как это не нужно TList если нужная процедура параметы через нее передает?
хочеш см. OpenSchema (которую первая и вызывает) там в рекордсете возвращается.
через системную не советую может прав на чтение не хватить, и т.д. а итог те же данные. (без проблем в общемто, но знать надо побольше чем с GetTableNames, если хочеш чтобы нормально работало)
ping (2004-10-16 12:38:00) [2]по простецки попробуй - через try.. except делай то что нужно, ну а если не получится, значит не судьба - нет такой таблицы. Хотя 100% нет гарантии...
Еще путь : в Аксесе есть системная таблица, где описаны объекты БД. Поищи ее описание, и из нее по имени и типу объета(таблица) селекти строку, если есть то это она, если нет - опять не судьба...
diabolik_krsk (2004-10-14 15:20:00) [3]
> Vlad © (14.10.04 15:03) [1]
> TADOConnection.GetTableNames ?
Не совсем. Пробовал - по F1 оказывается что процедура предназначена для извлечения записей из БД и помещения названий таблиц в TList. У меня в программе TList нет и, в принципе, он мне не нужен.
Немного уточню вопрос. Необходимо узнать находится ли в БД таблица с определенным именем, и если она существует создать для нее TADOTable/
Vlad (2004-10-14 15:03:00) [4]TADOConnection.GetTableNames ?