Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.08.07;
Скачать: CL | DM;

Вниз

Количество компонентов Query   Найти похожие ветки 

 
Tirex   (2005-06-29 09:36) [0]

Вообщем ко всем кто занимается базами: При разработке программы вы для каждой формы (раздела программы работающего с данными) добавляете в datamodule отдeльный Query? Или кидаете их 3,4 штуки и а потом из программы вот так:
Dm.IBQuery3.SQL.Clear;
Dm.IBQuery3.SQL.add(" ... ");
Dm.IBQuery3.Open;
Собстаенно я поступаю вторым способом. Потеряет ли программа в производительности в каком то из этих случаев?
Просто если учесть что программа будет разрастаться и скоро форм (разделов) будет больше.


 
Johnmen ©   (2005-06-29 09:43) [1]

Применяются виды использования:
1. Компонент кидается в датамодуль и жёстко прописывается запрос.
2. То же самое, но текст запроса модифицируется в рантайме по мере необходимости.
3. Динамически создается экз.компоненты с необх св-вами, вып-ся, разрушается.

Все способы имеют право на жизнь. Всё зависит от конкр.ситуации.


 
Tirex   (2005-06-29 09:52) [2]

первые два ясно а по поводу 3-го это так?:
var
tb1: TIBQuery;
begin
tb1:=TIBQuery.Create(self);
tb1.sql.add(" ... ");
tb1.Free;
end


 
Johnmen ©   (2005-06-29 09:54) [3]

Да.


 
Жук ©   (2005-06-29 10:04) [4]

ИБДатаСеты кидаю в дизайне + 1 ИБСКЛ, запросы в котором меняю динамически по мере надобности. Если 1ИБСКЛя не хватает, то создаю в ран-тайме.


 
Tirex   (2005-06-29 10:05) [5]

2 Жук
Сколько форм (разделов ) в программе ?


 
size=20   (2005-06-29 10:06) [6]

1. способ не очень гуд, потому как тяжело рыться в поисках лукап полей и текстов запросов.
3. Более мне нравится + все это обернуть в виде обьекта.


 
Smash   (2005-06-29 10:56) [7]

size=20   (29.06.05 10:06)
замеТТе, что динамическое создание и удаление чего-бы то нибыло - это никак не прирост производительности


 
size=20   (2005-06-29 11:00) [8]


> замеТТе, что динамическое создание и удаление чего-бы то
> нибыло - это никак не прирост производительности

да, если єто делать каждую секунду или и того меньше. нужно думать как сказал Johnmen


 
Sergey13 ©   (2005-06-29 11:25) [9]

2[6] size=20   (29.06.05 10:06)
>1. способ не очень гуд, потому как тяжело рыться в поисках лукап полей и текстов запросов.

Если это про

>[1] Johnmen ©   (29.06.05 09:43)
>1. Компонент кидается в датамодуль и жёстко прописывается запрос.

То не совсем понятно почему. Как раз таки все в одном месте. А когда все в рантайме еще надумаешься, что за запрос не работает. К тому же лень бывает "возиться" с параметрами и получаем DSQL. 8-)

Я в основном работаю по 1 варианту. Плюс [4] Жук ©   (29.06.05 10:04).


 
Romkin ©   (2005-06-29 11:29) [10]

У меня каждый датамодуль - определенный объект. Счет, например. В нем запрос для списка и запросы для редактирования собственно счета. Методы, эссно, прописаны, вроде "Создать счет", "открыть счет", "Показать счет". Запросы жестко прописаны - терпеть не могу в коде запросы писать, это ж неудобно!


 
evvcom ©   (2005-06-29 12:52) [11]

У меня текущий проект содержит один DM, на котором только DBSession и ConnectDialog. Остальные компоненты - это OraStoredProc, которые лежат прямо на форме, и которыми я стараюсь ее не перегружать. 2 или 3 SP форму не перегружают.


 
Sergey13 ©   (2005-06-29 13:15) [12]

2 [11] evvcom ©   (29.06.05 12:52)
Т.е. на каждой форме тебе хватает 2-3 SP и для визуализации и для обработки?


 
Anatoly Podgoretsky ©   (2005-06-29 13:30) [13]

Tirex   (29.06.05 09:36)  
Столько сколько считаешь нужным, границы таковы - от одного единственного компонента до по компоненту на каждый запрос, а некоторые воообще ни одного компонента не держут.
У всех трех вариантов свое назначение, достоинства и свои недостатки.


 
evvcom ©   (2005-06-29 13:58) [14]


> Т.е. на каждой форме тебе хватает 2-3 SP и для визуализации
> и для обработки?

Я сейчас работаю с Oracle через ODAC. В большинстве случаев хватает одного единственного TOraStoredProc и для визуализации, и для обработки, т.к. там имеются свойства SQLInsert, SQLUpdate, SQLDelete, SQLLock, SQLRefresh. Ну и естественно TDataSource.


 
КиТаЯц ©   (2005-06-29 14:18) [15]

У меня 2 + 3


 
Tirex   (2005-06-29 16:09) [16]

Вообщем картина вырисовывается такая:
1 DataModule
1 Database , 1 Transaction и т.д.
1 Datasource (да кстати все IBQuery сколько есть подключаю к одному DataSource)
и Query по вкусу.


 
Sergey13 ©   (2005-06-29 16:11) [17]

2[16] Tirex   (29.06.05 16:09)
>1 Datasource (да кстати все IBQuery сколько есть подключаю к одному DataSource)

Пачиму так?


 
Tirex   (2005-06-29 17:01) [18]

Одновременно два мне пока не требуется.
Обычно вывожу списки элементов в ComboBox.
Определяю индекс выбранного и т.д.


 
Tirex   (2005-06-29 17:01) [19]

Удалено модератором


 
Sergey13 ©   (2005-06-29 17:04) [20]

2[18] Tirex   (29.06.05 17:01)
Занятное у тебя приложение.


 
Anatoly Podgoretsky ©   (2005-06-29 17:07) [21]

Tirex   (29.06.05 17:01) [18]
При этом ты обязан отказаться от персистентных полей и параметров. Также персистентных настроек гридов.


 
Tirex   (2005-06-29 17:52) [22]

>При этом ты обязан отказаться от персистентных полей и
> параметров. Также персистентных настроек гридов.
DBGridа у меня всего два, поля прописаны в ColumnsEditor.
Datasource для них подключаю перед вызовом формы.

> Занятное у тебя приложение.
Нет ну просто у меня все данные отображать в Table и Grid ну никак не пойдет. Суть в том что первой ну допустим выбирается спе-сть, потом по этой спец-сти кафедра ну и т.д. вообщем одно за другое. Так что самый удобный вариант это ComboBox, ListBox иногда DBGrid.
Что я не так делаю



Страницы: 1 вся ветка

Текущий архив: 2005.08.07;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.048 c
3-1119954763
pashtet
2005-06-28 14:32
2005.08.07
Компонент для выполнения скрипта БД.


14-1121418558
Андрей Жук
2005-07-15 13:09
2005.08.07
Интересно, теперь будут ли книги выпускать на такой бумаге?


1-1121728449
jcrush
2005-07-19 03:14
2005.08.07
Найти в списке memo буквы КД и по горячим клавишам заменить


1-1121769741
td
2005-07-19 14:42
2005.08.07
как определить текущее время?


14-1121668876
GRAND25
2005-07-18 10:41
2005.08.07
Москва - Спартак 3:1!!!