![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проверка на существование таблицы
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]
Попробовать выполнить запрос к ней