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

Вниз

Хранимые процедуры   Найти похожие ветки 

 
TATIANA   (2003-10-30 10:16) [0]

Здравствуйте мастера ! Помогите начинающему .
Работаю с IBExpert . Создаю хранимые процедуры для работы с таблицами . У меня 5 справочников - форма имеет один вид , чтобы не создавать 5 форм , решила сделать одну , с динамичечким запросом нет проблем , а вот присвоить имя хранимой процедуре и объявить входные и выходные рараметры не получается .
PER = 1 - справочник 1;
PER = 2 - справочник 2;
PER = 3 - справочник 3; и т.д.
do case PER of
1: StoredProc1.StoredProcName:="proc1";
2: StoredProc1.StoredProcName:="proc2";
3: StoredProc1.StoredProcName:="proc3";
4:
5:
end;
дает ошибку или зависает , в зависимости куда помещаю .
Не знаю как присвоить правильно свойству Params - входные и выходные параметры : 0 - kod (OutPut)(Integer)
1 - naim (InPut) (String).
Cпасибо .


 
Zacho ©   (2003-10-30 10:29) [1]

Не используй TStoredProc, используй обычный TQuery (или TIBDataSet, или еще что-то, в зависимости от того, какую библиотеку компонентов для доступа к IB используешь) и запрос вида SELECT * FROM MY_STORED_PROC(:param_1,..,:param_n) и никаких проблем не будет.


 
Narayan ©   (2003-10-30 13:39) [2]

...
IBSQL1.Close;
IBSQL1.SQL.Clear;

do case PER of
1: Begin
IBSQL1.SQL.Append("select * From proc1(:P0,:P1,:P2,...);
IBSQL1.Params[0].AsInteger:=...; // если он интеджер
IBSQL1.Params[1].AsString:=...;
.........
end;
2: ...
......

end;

ExecQuery;

IBSQL1.FieldByName("имя_выходного_параметра").AsInteger; // если он интеджер
...


 
MsGuns ©   (2003-10-30 13:58) [3]

Запросы типа Select * from .. ?
И для этого делать ХП ???????


 
Zacho ©   (2003-10-30 14:02) [4]


> MsGuns © (30.10.03 13:58) [3]

SELECT именно из ХП. Судя по описанию автора вопроса, ХП у нее именно селективные.


 
MsGuns ©   (2003-10-30 14:14) [5]

>Zacho © (30.10.03 14:02) [4]
Да я так и понял. Я не понял другого. Зачем для выборки из одной таблицы создавать ХП ? Почему нельзя просто запросом с клиента (TIBDataSet, TIBQuery etc) ?
ИМХО, ХП нужны для переноса на сервер какой-то логики (выборка из многих таблиц, цепочки обновлений, например)
Иля и я не прав ?


 
Zacho ©   (2003-10-30 14:18) [6]


> MsGuns © (30.10.03 14:14) [5]

Прав. Но из вопроса не понятно, присутствует ли какая-нибудь логика в ХП, или нет.


 
MsGuns ©   (2003-10-30 15:44) [7]

>Zacho © (30.10.03 14:18) [6]
Из приведенного фрагмента понятно, что никакой логики в запросе нет. Если, конечно, не считать логикой выборку списка полей из единственной таблы. Ну и where, конечно, если он есть - офигенно крутая логика ;)


 
TATIANA   (2003-10-31 09:28) [8]

Господа мастера , спасибо за советы . Но я пробую и не знаю как лучше , как правильно , в книгах нет четкой информации , в каких случаях как и что применять . Было бы очень хорошо , если бы действительно был курс "молодого бойца" .
Всем спасибо .


 
Zacho ©   (2003-10-31 09:40) [9]


> TATIANA (31.10.03 09:28) [8]

Крайне рекомендую http://www.ibase.ru/develop.htm Там и "курс молодого бойца" есть :-)



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

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

Наверх




Память: 0.49 MB
Время: 0.016 c
1-65926
AHTOH
2003-11-11 14:23
2003.11.20
Кнопка в меню формы


1-65832
FC
2003-11-08 22:26
2003.11.20
Запрет запуска программы


3-65777
IGORYOK
2003-10-30 19:25
2003.11.20
Я слышал БДЕ можно инсталить с какой-то дискетки, которую можно с


1-65836
dream
2003-11-07 14:06
2003.11.20
Проблема с редактированием реестра из программы которую запустил


1-65968
programmerts
2003-11-11 11:01
2003.11.20
РАбота с TListBox открытие файла