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

Вниз

Вопрос по ХП   Найти похожие ветки [Firebird]

 
Koala ©   (2004-09-17 12:44) [0]

Что лучше, для каждой ХП в ДатаМодуль кидать отдельный StoredProcedure или кинуть парочку StoredProcedure и динамически вызывать каждую процедуру....
Может не сильно понятно выразился перефразирую...


 
Роман Снегирев   (2004-09-17 12:47) [1]

смотря что за ХП, с параметрами или без, какие компоненты мспользуешь и пр.


 
Koala ©   (2004-09-17 12:50) [2]


> [1] Роман Снегирев   (17.09.04 12:47)
> смотря что за ХП, с параметрами или без, какие компоненты
> мспользуешь и пр.


ХП с параметрами и без, компоненты FIBPlus 5.3


 
Роман Снегирев   (2004-09-17 12:55) [3]

ну вообщем по барабону, если их (ХП) немного и влом програмно менять их свойства то я бы повесил для каждой ХП одельный компонет. Кстати тебе не всегда подойдет StoredProcedure, для запросов, возвращающих наборы данных надо использовать FIBDataSet


 
Koala ©   (2004-09-17 13:20) [4]


> [3] Роман Снегирев   (17.09.04 12:55)


> Кстати тебе не всегда подойдет StoredProcedure, для запросов,
> возвращающих наборы данных надо использовать FIBDataSet


Это да... я уже вычитал в книге... но хотелось бы узнать как лучше(у меня > 70 ХП используется), и если менять динамически размер exe-шника уменьшится, но насколько увеличится время выполнения процедур?
Что делать лучше, посрветуйте ЗНАТОКИ!!!


 
Роман Снегирев   (2004-09-17 13:23) [5]

на размер exe-шника это никак не повлиет да и вообше ни на что не повлияет. Это просто не есть хороший стиль программирования.


 
Sergey13 ©   (2004-09-17 13:26) [6]

2[5] Роман Снегирев   (17.09.04 13:23)
>вообше ни на что не повлияет
Скорее всего повлияет на количество ошибок. 8-)


 
Роман Снегирев   (2004-09-17 13:29) [7]

короче делай как тебе удобнее, если ты точно знаешь что у тебя ХП 70 и никак больше то почему бы не навешать их и в дизайнтайме ИМХО


 
Petr V. Abramov ©   (2004-09-17 14:17) [8]

При втором варианте имена SP будут размазаны по коду, и отследить зависимости клиетской части от серверной будут практически невозмжно ( кроме тупого просмотра всего кода).


 
Deniz ©   (2004-09-18 11:22) [9]

> Petr V. Abramov ©   (17.09.04 14:17) [8]
Ну почему же размазаны, если грамотно написать. Все обработки в DataModule например вот так:
procedure GetReults(SPName: string; Param: string); overload;
procedure GetReults(SPName: string; Param: integer); overload;
procedure GetReults(SPName: string; Param: TDate); overload;
procedure GetReults(SPName: string; Param1: String; Param2: Integer); overload;
...
Громоздко конечно, но если у многих ХП одинаковые типы параметров и они не возвращают набор данных, может помочь.


 
Sergey_Masloff   (2004-09-18 20:34) [10]

Deniz ©   (18.09.04 11:22) [9]
А еще можно так:
procedure GetReults(SPName: string; Params: TParams);
Один раз и никаких оверлоад. Можно даже еще проще при желании.


 
Deniz ©   (2004-09-19 08:38) [11]

> Sergey_Masloff   (18.09.04 20:34) [10]
> Deniz ©   (18.09.04 11:22) [9]
> А еще можно так:
procedure GetReults(SPName: string; Params: TParams);
Один раз и никаких оверлоад. Можно даже еще проще при желании.

Согласен, но тогда Params придется заполнять в том месте, где вызывается процедура, а тогда получается > Petr V. Abramov ©   (17.09.04 14:17) [8] но только с параметрами, и если, например, список параметров поменялся, то придется тупо просматривать код. А в моем примере компилятор сам обругает на несоответствие параметров, и скажет в каком месте, но это все на любителя, кто как привык, тот так и делает, а кто учится, тот наступит на свои грабли, а без этого никак.
ЗЫЖ Если в DataModule ~70 ХП и еще + DataSet"ы - это как-то утомляет.


 
Petr V. Abramov ©   (2004-09-19 16:32) [12]

> Deniz ©   (18.09.04 11:22) [9]
 Если датамодулей 3 шт и точно известно, что искать нужно именно в датамодулях, тогда еще ничего. Если их много - тогда совсем плохо.


 
vv_fran   (2004-09-19 19:20) [13]

А грамотнее всего - это положить в дм всего один TQuery и вызывать проседуры через SELECT. При этом во всех ХП должен быть suspend; Для выполняемых TFIBQuery, для возвращаемых - TFIBDataSet.



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

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

Наверх




Память: 0.49 MB
Время: 0.054 c
1-1096967239
Леонид
2004-10-05 13:07
2004.10.17
Точки останова и ошибка компиляции


3-1095750966
Mitrofan
2004-09-21 11:16
2004.10.17
Как в DBGridEh внизу получить сумму по столбцу


1-1096619466
Sash
2004-10-01 12:31
2004.10.17
главная форма ровно по центру монитора


14-1096031715
Шишкин Илья
2004-09-24 17:15
2004.10.17
Чат для LAN без сервера


14-1096292170
VID
2004-09-27 17:36
2004.10.17
Чем закончилась история про СМСтерроризирование Григорьева Антона