Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Незаконная таблица


Автор: tikitiki 15.12.2005, 21:03
Использую BDE для доступа к бд paradox.
Создавал таблицы вспомогательные в директории бд с помощью
кода, как например ниже
Код

fDbiQExec(Table2.DBHandle, 'deneg.DB', Query1.sql.text);

Т.е. при помощи квери к таблице 2 создал таблицу deneg.
А потом в гриде обращаюсь к этой таблице.
Всё работает. Меня смущает вот только что, так можно делать? Таблица то без ключей, индексов, и по крайней мере с бд никак не связана. А бд же реляционная должна быть связана и в delphi тоже и везде вообще. В общем можно ли такие дополнительные таблицы создавать? Ведь они мне очень помогли для работы приложения и простоты создания приложения опять же.

Автор: YurikGL 15.12.2005, 21:07
Так делать можно... НО!!! нужно учесть, что другое клиентское приложение возможно тоже захочет создавать таблицы с теми же именами... И тогда будет конфликт...
Так что я бы так делать не советовал...

Автор: tikitiki 15.12.2005, 22:53
Очень и очень жаль. А что же тогда делать? Я таким способом длиннющие SQL-запросы скормил в коде программы и избежал параметризованного запроса, а он не работает в local sql.
Можно ли мой способ поправить? Или надо как-то по-другому?

Автор: YurikGL 16.12.2005, 22:57
Можно CREATE TEMPORARY TABLE пользовать
см. http://forum.vingrad.ru/index.php?showtopic=74216

А отсутсвие связей и ключей смущать не должно....

Автор: tikitiki 17.12.2005, 11:40
Спасибо.
Цитата

Можно CREATE TEMPORARY TABLE пользовать

Это обычная команда SQL?

Автор: YurikGL 17.12.2005, 16:26
Цитата
Это обычная команда SQL?


Ну.... вроде да.... а что?

Автор: tikitiki 17.12.2005, 18:45
Да думаю где описание взять. Наверное у меня нет полного.

Автор: YurikGL 17.12.2005, 19:08
Цитата
CREATE TEMPORARY TABLE

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


а вообще яндекс рулит....

Автор: tikitiki 17.12.2005, 19:56
Так я думаю как таблицу задать и т.д. Поищу...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)