Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
14-1098979399
JOnyto
2004-10-28 20:03
2004.11.14
Прервание выполнения процедуры до нажатия кнопки


1-1099412841
Владимир
2004-11-02 19:27
2004.11.14
Восстановление окон


3-1097746322
Настенька
2004-10-14 13:32
2004.11.14
Ширина столбцов


1-1098871899
Pashkerton
2004-10-27 14:11
2004.11.14
Обработка события


3-1097833271
NATA
2004-10-15 13:41
2004.11.14
Type





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский