powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как обновить список таблиц?
25 сообщений из 52, страница 1 из 3
Как обновить список таблиц?
    #32139061
VitL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
После выполнения запроса "Create table ..." список всех таблиц базы данных не обновляется, т.е. метод
Session.GetTableNames...
возвращает тот же список, что и до запроса.
Приходится переоткрывать базу:
Database.Close;
Database.Open;
Но при этом закрываются все открытые таблицы этой базы данных.

Как обновить список таблиц после запроса без переоткрытия базы?
...
Рейтинг: 0 / 0
Как обновить список таблиц?
    #32139081
Фотография KirillovA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если пдокс - проще перечитать список филей в папке ))
...
Рейтинг: 0 / 0
Как обновить список таблиц?
    #32139097
VitL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уточню: речь идет об общей закономерности для клиент-серверных баз данных. Я тестировал это дело на Interbase, Oracle, SQL Server, Access.

Коннект через BDE.
...
Рейтинг: 0 / 0
Как обновить список таблиц?
    #32139102
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Но при этом закрываются все открытые таблицы этой базы данных.


Кто ж с SQL серверами через таблицы работает то, а?
...
Рейтинг: 0 / 0
Как обновить список таблиц?
    #32139104
Фотография KirillovA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на серверных батенька - есть системные таблесы - от тудыть загрузка идет данных смею вам сказать...
...
Рейтинг: 0 / 0
Как обновить список таблиц?
    #32139125
Фотография KirillovA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> pkarklin
согласен!
...
Рейтинг: 0 / 0
Как обновить список таблиц?
    #32139378
VitL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
>Кто ж с SQL серверами через таблицы работает то, а?

Во-первых, я и не говорил, что я через таблицы работаю. Я строю запросы в программе, когда изначально неизвестен список таблиц базы данных. Вот поэтому мне и нужен список таблиц (динамически обновляемый). Ведь если он неизвестен, запрос не построить.

Во-вторых, это не догма - не работать через таблицы с SQL серверами. Если ресурсы сервера позволяют, и если выборка нужна только из одной таблицы, то почему бы и нет?

Но не будем уходить от сути - мне нужен динамически обновляемый список таблиц без переоткрытия базы. И, поверьте, я имею веские основания хотеть этого :)

Насчет замечания о системных таблицах - может она и будет обновляться динамически, но как из нее вытаскивать список таблиц (причем системных в том числе) ?
...
Рейтинг: 0 / 0
Как обновить список таблиц?
    #32139382
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я строю запросы в программе, когда изначально неизвестен список таблиц базы данных.

Как можно строить запрос, не зная списка таблиц. Чушь какая то. В какой программе ты строишь запрос. Прям в Delphi что-ли. И как то непонятно ты работаешь. Сначала создают структуры БД, а потом создают приложение, или ты все это в паралель делаешь?

это не догма - не работать через таблицы с SQL серверами

Это догма, я бы даже сказал аксиома.

Но не будем уходить от сути - мне нужен динамически обновляемый список таблиц без переоткрытия базы. И, поверьте, я имею веские основания хотеть этого

Чет и сути то не видно. Создал таблицу на сервере, построил в QA запрос, установил свойство SQL компонента. А еще лучше хп использовать.
...
Рейтинг: 0 / 0
Как обновить список таблиц?
    #32139387
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
select * from INFORMATION_SCHEMA.TABLES

А системные таблицы, на то и сиcтемные, что бы их не трогать
...
Рейтинг: 0 / 0
Как обновить список таблиц?
    #32139414
LexusR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>>Приходится переоткрывать базу:
>>Database.Close;
>>Database.Open;
>>Но при этом закрываются все открытые таблицы этой базы данных

Сделай два раздельных коннекта
- один на рабочие таблицы
- один информационный (получаь список созданных таблиц
и только второй и передергивай после создания таблиц
...
Рейтинг: 0 / 0
Как обновить список таблиц?
    #32139455
Фотография KirillovA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Cat2, all
ну не день то писать ... кошкодрал конечно прикольный у тебя в "просто трепе" ... ну если человек все юзал - ему и объяснять и опятом делиться то не надо - он же все знает (и даже схематкабелес мастая грит - вернее не грит что ето плохо) - и сИстемы ебаза и даже оракула...
вобщем tdatabase надо просто еще сделать и не париться VitL.
успехов.
...
Рейтинг: 0 / 0
Как обновить список таблиц?
    #32139482
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я так чувствую, что тут затевается очередной проект века - Междумордие-2. 1024 по судам затаскает.
...
Рейтинг: 0 / 0
Как обновить список таблиц?
    #32139690
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не, не затаксает - судя по заданному вопросу, до этого еще далеко А к тому времени, сам 1024 уже забудет про междумордие
...
Рейтинг: 0 / 0
Как обновить список таблиц?
    #32139887
VitL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
KirillovA - спасибо за понимание. Неизвестно почему некоторые решили, что я не знаю элементарных вещей. Хотя сами-то сколь-нибудь серьезного решения предложить не могут.

pkarklin -
Объясню еще раз суть моей программы. Программа предназначена для администраторо любых баз данных. Она коннектится к любой базе по выбору юзера. По этой причине и список таблиц заранее неизвестен.
После коннекта я получаю список таблиц и показываю его юзеру.
Он на основании этого списка может строить запросы (здесь же в программе).
Если он делает запрос типа
CREATE TABLE
то было бы логично обновить для юзера список таблиц открытой базы данных,
ведь он уже создал новую таблицу!
На этот момент юзер мого наоткрывать кучу датасетов. Т.е. обновить список переоткрытием всей базы приведет к закрытию их, что ОЧЕНЬ НЕУДОБНО для юзера.
Вот, собственно, и все.

Cat2 - думаю, что твой последний совет тоже не поможет, ведь наверняка и BDE, выполняя Session.GetTableNames, берет информацию оттуда же. Но попробовать стоит, спасибо.

LexusR - в твоем последнем совете что-то есть... Даже не проверяя, могу сказать, что это сработает, хотя это и не так изящно, как мне хотелось бы.
...
Рейтинг: 0 / 0
Как обновить список таблиц?
    #32139913
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 VitL

Ну тебе ж Cat2 уже показал запрос, на основании которого надо строить перечень таблиц текущей бд.
...
Рейтинг: 0 / 0
Как обновить список таблиц?
    #32139923
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Программа предназначена для администраторо любых баз данных

И еще вопрос. А зачем такая программа нужна. Не хватает что ли EM, QA или проектов Access наконец?
...
Рейтинг: 0 / 0
Как обновить список таблиц?
    #32139934
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
Сильно сомневаюсь, что если человек не знает как получить список таблиц, он напишет нормальную программу администрирования БД...
Тем более что список всех таблиц администратору как бы не нужен.
...
Рейтинг: 0 / 0
Как обновить список таблиц?
    #32139937
Фотография KirillovA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> eNose
поддерживаю. не в обиду VitL.
...
Рейтинг: 0 / 0
Как обновить список таблиц?
    #32139990
V.L.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> И еще вопрос. А зачем такая программа нужна. Не хватает что ли EM, QA или проектов Access наконец?

Если бы всех удовлетворял Access, то зачем бы делался SQL Explorer, IBExpert, Database Commander и еще тысячи подобных програм?


> Сильно сомневаюсь, что если человек не знает как получить список таблиц, он напишет нормальную программу администрирования БД...
Тем более что список всех таблиц администратору как бы не нужен.

Я, возможно, не совсем правильно выразился насчет администрирования. В общем, программа похожа на Делфовский SQL Explorer, но возможностей в ней на порядок больше. Вижу ваши скептические ухмылки :)
Насчет того, что я не знаю, как получить список таблиц - я знаю, но не знаю, как обновить его без переоткрытия базы. Кстати, этого не знаю не только я, но и все советчики, более того, в вышеназванных программах аналогичное обновление также не делается. Все это доказывает, что задача не так уж проста.

Cat2 - я в основном пользуюсь Interbase. В нем нет системных таблиц, в которых был бы перечислен список всех таблиц. Такого списка также нет в Access :(
Хотелось бы иметь решение, подходящее для большинства баз данных, с которыми работает BDE.
...
Рейтинг: 0 / 0
Как обновить список таблиц?
    #32140002
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
А универсального способа получить список всех таблиц нету.
Есть какая-то стандартная хрень у ODBC-драйвера - возвращает этот самый список (у BDE тоже самое). А если запросом у СУБД спрашивать - то тут у каждой по-своему.
...
Рейтинг: 0 / 0
Как обновить список таблиц?
    #32140008
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотелось бы иметь решение, подходящее для большинства баз данных, с которыми работает BDE.

Да ты еще и через BDE????????

Ну-ну, давай. Туда и дорога

Насчет того, что я не знаю, как получить список таблиц - я знаю, но не знаю, как обновить его без переоткрытия базы.

Угу, посмотреть в свойство компнента, где лежит список таблиц - это называется я знаю
Это все-равно, как если сказать: я знаю, как работает автомобиль - поворачиваешь ключ зажигания и она ж-ж-ж-ж-ж--жжж, работает

Не в обиду все это - лучше бросайте все. А BDE обязательно, и чем быстрее, тем лучше
...
Рейтинг: 0 / 0
Как обновить список таблиц?
    #32140015
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Че за путаница с никами. Ты уж давай определись кто ты. То VitL, то V.L.

Хочу выразить свое мнение по-поводу той программы, которую ты пишешь для администраторов любых БД. Так вот. То, что реализовать все, что поддерживают все СУБД без исключения можно, никто и не спорит. Но вот нужна ли здесь универсальность. Администратор конкретной СУБД захочет иметь не только набор функций, стандартный для всех бд, но и специфичные для своей бд. Точно так же и с построителями запросов и т.д. и т.п. Резюме. Серьезному админу, который работает с одной субд не нужна универсальность. И юзать он твою прогу не будет. А универсальных и так много понаписано. Думаешь у тебя лучше получиться. Ты б хоть иди свои изложил.
...
Рейтинг: 0 / 0
Как обновить список таблиц?
    #32140035
Фотография KirillovA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> tygra
а меня бде устраивает и в отличие от адо не додумывает за меня ...
...
Рейтинг: 0 / 0
Как обновить список таблиц?
    #32140044
V.L.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Че за путаница с никами. Ты уж давай определись кто ты. То VitL, то V.L.

Когда регистрировался, малость напутал. Теперь расхлебываю :)

>Хочу выразить свое мнение по-поводу той программы, которую ты пишешь >для администраторов любых БД. Так вот. То, что реализовать все, что >поддерживают все СУБД без исключения можно, никто и не спорит. Но вот >нужна ли здесь универсальность. Администратор конкретной СУБД захочет >иметь не только набор функций, стандартный для всех бд, но и специфичные >для своей бд. Точно так же и с построителями запросов и т.д. и т.п. Резюме. >Серьезному админу, который работает с одной субд не нужна >универсальность. И юзать он твою прогу не будет. А универсальных и так >много понаписано. Думаешь у тебя лучше получиться. Ты б хоть иди свои >изложил.

Программу начал писать года 3 назад, в основном для себя, так как того, что мне (и многим таким как я) надо было, во всех этих хваленых программах не было. Показал знакомым. Пошло на ура. Доделал, сделал сайт в Инете. В итоге выпустил около 30 обновлений, сейчас пользуюсь только ею, имею несколько тысяч пользователей во многих странах. Продал полсотни лицензий. Так что кому-то все-таки нужна такая программа.
...
Рейтинг: 0 / 0
Как обновить список таблиц?
    #32140064
Фотография KirillovA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> V.L.
в том то и дело - что не нужна - серьезный адм спесифические весчи и сам для себя напишет... т.к. подавляющее большинство сисадмов считают самыми умными себя и свой выстраданный код считают самым лучшим .
так что релакснись - многим из них и не надо... да и к томуже млин биде не работает на прямую с сиквел серваками... задолбишься еще и инсталляторы клиентов впиндюривать в свою прогу... лучше тады не биде - а прямое юзание api конкретного клиента сиквела...
...
Рейтинг: 0 / 0
25 сообщений из 52, страница 1 из 3
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как обновить список таблиц?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]