Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.022 c
1-1091185261
Фагот
2004-07-30 15:01
2004.08.15
Завершение программы


3-1090419254
Bacuc
2004-07-21 18:14
2004.08.15
АвтоОбновление


8-1086000556
Dr.Alex
2004-05-31 14:49
2004.08.15
12 - кадр


14-1091193438
dtm
2004-07-30 17:17
2004.08.15
А книжечку по SQL Server 2К присоветуйте, а?


1-1091204566
jenbond
2004-07-30 20:22
2004.08.15
Получению курса валюты




   Наверх