Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
14-66114
Rouse_
2003-10-25 16:24
2003.11.20
Ходорковский упал


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


8-66012
Юля
2003-07-24 14:17
2003.11.20
Пиксель


1-65978
UNick
2003-11-10 15:46
2003.11.20
Как узнать размер папки?


7-66140
bloodman
2003-09-01 17:13
2003.11.20
Модем и тоновые команды





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