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

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

Как проверить что в базе есть таблица?


Страницы:   1 2

Kolan ©   (2007-12-19 17:16:00) 

Здравствуйте,
 Работаю с MS SQL Server 2000.
 Допустим мне надо выполнить запрос:
  SQL.Add('SELECT * FROM CONF_USER');

Как проверить есть ли таблица CONF_USER?

И вообще, как бы организовать проверку что схема базы соответствует нужной программе?

ЗЫ
Можно конечно достать из системных таблиц, но ведь это не всегда возможно, или вседа?


Anatoly Podgoretsky   (2007-12-19 17:49:00) [21]

> Kolan  (19.12.2007 17:16:00)  [0]

TAdoConnection.GetTableNames
 
INFORMATION_SCHEMA универсально и системно независимо.


Kolan   (2007-12-19 17:37:00) [22]

Придумал. В БД надо сделать служебную таблицу где писать тип БД. Приложение должно знать с каким типом БД оно умеет работать и соотв сверяться с  БД.


Kolan   (2007-12-19 17:27:00) [23]

> исключение ?

Да, но оно OleException как понять что именно нет таблицы? не парсить же строку…


Jeer   (2007-12-19 17:26:00) [24]


> начинаются эксепшены invalid object


Так пробегись по таблицам и обрабатывай исключения


Jeer   (2007-12-19 17:25:00) [25]


> Как проверить есть ли таблица CONF_USER?


исключение ?


Kolan   (2007-12-19 17:25:00) [26]

> Если проверку завернуть в хранимку, то всегда возможно.

А если её нет :).

Для чего? В программе есть возможность подключится к другой БД. Используется стандартный диалог. И подключение проходит нормально, а потом если перепутали базу, то так как проверки нет, начинаются эксепшены invalid object …


ANB   (2007-12-19 17:21:00) [27]


> но ведь это не всегда возможно, или вседа?

Если проверку завернуть в хранимку, то всегда возможно.


Страницы:   1 2

Наверх

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