Форум: "Базы";
Текущий архив: 2004.11.14;
Скачать: [xml.tar.bz2];
ВнизПроверка наличия таблицы в БД 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.037 c