Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.08.07;
Скачать: [xml.tar.bz2];

Вниз

Количество компонентов 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.041 c
14-1121683826
boriskb
2005-07-18 14:50
2005.08.07
Что это?


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


14-1121228924
Soft
2005-07-13 08:28
2005.08.07
Что произойдет с базой данных Firebird, если мы осуществляем


1-1121782410
Sam Stone
2005-07-19 18:13
2005.08.07
Кодировка текстового файла


8-1112169792
WondeRu
2005-03-30 12:03
2005.08.07
Direct3D. Полигон





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский