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