Андрей |
Отправлено: 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. Как получить список тадлиц в нём ? |
 |