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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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


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