Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проверка на существование таблицы


Alexey Nepryahin ©   (2003-07-25 20:46:00) 

Как в Jet 4.0 проверить существует ли таблица или нет??


sniknik   (2003-07-26 00:05:00) [1]

запрос
SELECT Yes AS [Exists] FROM MSysObjects WHERE Name="TableName" AND Type=1
если вернет запись таблица есть (метод не без недостатков, сам поймеш)
два других способа смотри справку


Dred2k   (2003-07-25 22:18:00) [2]

;)
Тогда Exists отпадает.
try
Open;
except
...
end;


Alexey Nepryahin   (2003-07-25 22:15:00) [3]

у меня ADO :)


sniknik   (2003-07-25 21:27:00) [4]

Reindeer Moss Eater (25.07.03 21:23)
какая разница? уточнит будет ясно.
в соседней ветке он по ADO вопросы задает. я судил по этому.


Reindeer Moss Eater   (2003-07-25 21:23:00) [5]

Dred предложил способ проверки через TTable.
Чел пошел пробовать.
У чела TTable.

Или я что-то непонимаю?


sniknik   (2003-07-25 21:21:00) [6]

Reindeer Moss Eater (25.07.03 21:10)
> У него TTable и этим все сказано. BDE у него!
ну не совсем. у него как раз не сказано, это Dred2k © (25.07.03 20:50) привел в примере.


Reindeer Moss Eater   (2003-07-25 21:17:00) [7]

Еще раз повторяю:
У него TTable и этим все сказано. BDE у него!


Dred2k   (2003-07-25 21:16:00) [8]

> Reindeer Moss Eater (25.07.03 21:10)
Эт не факт. Но человек мается "изысками" - эт факт. ;)


Reindeer Moss Eater   (2003-07-25 21:10:00) [9]

У него TTable и этим все сказано. BDE у него!


sniknik   (2003-07-25 21:09:00) [10]

Dbi(???)OpenFieldList

Alexey Nepryahin
у тебя ADO или BDE или другое? уточняй. функции Dbi это из BDE. но смысл не изменится, в конечно итоге все одно это приведет к запросу.
который можно сделать и самому из системной таблици
или через ADOConnectoin.OpenShema или ADOConnectoin.GetTableNames


Dred2k   (2003-07-25 21:03:00) [11]

Курсяк, что ли? ;)
Создай на лету TTable, подруби, проверь.
Если по-любому к SQL привязан, то создай TQuery, выставь свойства, забей в него "select count(*) from ..." (к примеру, можно извратиться и "на по-быстрее"), а секцию с TQuery.Open поставь в try ... except ... end. Вот тут-то ты счастье и поймаешь.


Alexey Nepryahin   (2003-07-25 21:01:00) [12]

ПРоверим...


Reindeer Moss Eater   (2003-07-25 21:00:00) [13]

Способ Dread2k приведет к вызову
function TTable.GetExists: Boolean
а он в свою очередь к вызову DbiOpenFieldList
а он в свою очередь будет использовать SQL


Alexey Nepryahin   (2003-07-25 20:58:00) [14]

Dred2k © Используя SQL... надо...


Dred2k   (2003-07-25 20:50:00) [15]

TTable.Exists


Reindeer Moss Eater   (2003-07-25 20:48:00) [16]

Попробовать выполнить запрос к ней


Наверх

Титульная страница Поиск, карта сайта Написать письмо