Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.028 c
1-1096619466
Sash
2004-10-01 12:31
2004.10.17
главная форма ровно по центру монитора


3-1095675680
serg_newone
2004-09-20 14:21
2004.10.17
Блокирование логина после троекратного неправильного ввода парол


1-1096301073
Maxim_____
2004-09-27 20:04
2004.10.17
Debug dcu


14-1096356585
undert
2004-09-28 11:29
2004.10.17
Помогите найти компоненту


1-1096963151
roma
2004-10-05 11:59
2004.10.17
Forma i Knopki





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский