Текущий архив: 2004.08.15;
Скачать: CL | DM;
Вниз
TpFIBStoredProc vs TpFIBDataSet Найти похожие ветки
← →
starik30 (2004-07-21 16:56) [0]Добрый день ...
Не подскажите в чем преимущества и недостатки (включая накладные расходы для сервера) использования
TpFIBDataSet вместо TpFIBStoredProc при вызове хранимой процедуры, когда процедура возвращает результат ?.. когда не возвращает результат ?
Заранее благодарен за ответ
Юра
← →
Соловьев © (2004-07-21 16:58) [1]все что возращает записи - TpFIBDataSet
все что не возвращает - TpFIBQuery, TpFIBDatabase
← →
starik30 (2004-07-21 17:00) [2]Извините а зачем тогда TpFIBStoredProc ?
← →
starik30 (2004-07-21 17:01) [3]Извините а зачем тогда TpFIBStoredProc ?
← →
Соловьев © (2004-07-21 17:01) [4]Шоб було:)
И пора перейти уже на FireBird 1.5
← →
Соловьев © (2004-07-21 17:02) [5]
> когда не возвращает результат ?
кстати, результат не всегда запись:) это надо учесть читая [1]
← →
Johnmen © (2004-07-21 17:04) [6]>Извините а зачем тогда TpFIBStoredProc ?
Шоб выполнять безответные ХП или немногословные ХП, т.е. "однословные"...:)
← →
Соловьев © (2004-07-21 17:05) [7]
> Извините а зачем тогда TpFIBStoredProc ?
есть небольшая фича - читает из системной таблицы параметры.
← →
starik30 (2004-07-21 17:05) [8]Не подскажите : какой максимальный размер базы данных для FB1.5 (win32) ?
← →
Курдль © (2004-07-21 17:07) [9]
> Соловьев © (21.07.04 17:01) [4]
> Шоб було:)
> И пора перейти уже на FireBird 1.5
Я не пользовал IB (в таких количествах) но думаю, что T...StoredProc может быть удобен при нескольких исходящих или двунаправленных параметрах SP.
← →
Соловьев © (2004-07-21 17:10) [10]
> удобен при нескольких исходящих или двунаправленных параметрах
> SP.
это все реализуется нормально и в датасете.
← →
Курдль © (2004-07-21 17:11) [11]
> Соловьев © (21.07.04 17:10) [10]
> это все реализуется нормально и в датасете.
Как? Разве он обучен принимать параметры?
← →
Соловьев © (2004-07-21 17:13) [12]
> Как? Разве он обучен принимать параметры?
а как ты думаешь там работает insert, update, delete, refresh?
← →
Johnmen © (2004-07-21 17:15) [13]>Не подскажите : какой максимальный размер базы данных для FB1.5 (win32) ?
http://www.ibase.ru/v6/ib6faq.htm
← →
Курдль © (2004-07-21 17:20) [14]
> Соловьев © (21.07.04 17:13) [12]
> а как ты думаешь там работает insert, update, delete, refresh?
Т.е. если если в датасэте прописать вызов процедуры, меняющей параметр PARAM1, то можно будет получить значение этого параметра в переменнуюх
после выполнения таким образом:
DataSet.ExecSQL;
x := DataSet.ParamByName("PARAM1").Value;
← →
Соловьев © (2004-07-21 17:23) [15]
> x := DataSet.ParamByName("PARAM1").Value;
x := DataSet.FieldByName("PARAM1").Value;
← →
Курдль © (2004-07-21 17:26) [16]
> Соловьев © (21.07.04 17:23) [15]DataSet.Sql.Text := "begin TestProc(@PARAM1); end;";
DataSet.ExecSQL;
x := DataSet.FieldByName("PARAM1").Value;
Так оно и сработает???
(За синтаксис вызова процедуры на ИБ не ручаюсь).
← →
Соловьев © (2004-07-21 17:29) [17]
> DataSet.Sql.Text := "begin TestProc(@PARAM1); end;";
> (За синтаксис вызова процедуры на ИБ не ручаюсь).
не знаю где - возможно в MS SQL такое канает, а в ИБ нет.
Там будет это выглядеть так
DataSet.Sql.Text := "select param_out from TestProc(:PARAM_IN)";
← →
Курдль © (2004-07-21 17:34) [18]
> Соловьев © (21.07.04 17:29) [17]
> не знаю где - возможно в MS SQL такое канает, а в ИБ нет.
А! Вот где собака порылась! :)
Я как раз и имел в виду параметры, объявленные в процедуре, как OUT или INOUT. Это для Sybase (а значит и для MS SQL) и Oracle.
Страницы: 1 вся ветка
Текущий архив: 2004.08.15;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.039 c