Андрей |
Отправлено: 20.01.2005, 00:08 |
|
Не зарегистрирован
|
С помощью компонента TAdoConnection и его метода GetTableNames получаю имена таблиц, находящихся в базе.
Проблема заключается в следующем: есть база с некоторым набором таблиц. С базой идёт некоторая работа, в процессе которой некоторые таблицы удаляются, какие-то создаются и соответственно список таблиц меняется. так вот, если после изменения базы (т.е. добавления или удаления таблицы) вызвать метод GetTableNames и посмотреть этот список, то он окажется таким же, каким и был до изменения. А если этот метод вызвать через некоторое время, то он возвращает новый набор таблиц. Почему так происходит ? |
|
Gedeon |
Отправлено: 20.01.2005, 09:35 |
|
Ветеран
Группа: Модератор
Сообщений: 1742
|
Вы выполните Close(), Open() и все путем будет, а лучше список таблиц вообще из Query отдельным запросом получать.
|
|
Oper01 |
Отправлено: 20.01.2005, 18:28 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 145
|
А как можно с помощью SQL запроса получить список таблиц ? Нужная вещь. Gedeon, подскажите. |
|
olegenty |
Отправлено: 21.01.2005, 08:03 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
читай про INFORMATION_SCHEMA
|
|
full_lamer |
Отправлено: 21.01.2005, 09:06 |
|
Машинист паровоза
Группа: Участник
Сообщений: 225
|
какая СУБД?
в зависимости от СУБД существуеют разные способы получения системной информации. ХП, запросы к специальным системным таблицам, специфические компоненты.
|
|
Gedeon* |
Отправлено: 21.01.2005, 14:19 |
|
Не зарегистрирован
|
QUOTE (full_lamer @ 21/01/2005, 10:08) | какая СУБД?
в зависимости от СУБД существуеют разные способы получения системной информации. ХП, запросы к специальным системным таблицам, специфические компоненты. |
да, совершенно правильное высказывание, думаю админу надо сверху прилепить неперемещаемую тему, в к-рой написать, чтоб указывали какая СУБД. |
|
** Oper01 |
Отправлено: 21.01.2005, 23:34 |
|
Не зарегистрирован
|
MS Access. Как получить список тадлиц в нём ? |
|