Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.08.15;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.03 c
3-1090314645
MORA
2004-07-20 13:10
2004.08.15
Структура БД (продолжение)


14-1090908174
Сергей Г
2004-07-27 10:02
2004.08.15
Тем кого достали бухгалтера


1-1091076278
Mental_Ray
2004-07-29 08:44
2004.08.15
Как узнать позицию (не координаты) курсора в RichEdit?


3-1090330538
MORA
2004-07-20 17:35
2004.08.15
NULL


1-1091504016
Eagle8
2004-08-03 07:33
2004.08.15
Icon





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