Форум: "Базы";
Текущий архив: 2004.10.17;
Скачать: [xml.tar.bz2];
ВнизВопрос по ХП Найти похожие ветки [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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.164 c