![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Передача параметра в хранимую процедуру. [D7, MSSQL]
Miau © (2009-06-25 00:40:00)Есть компонент типа TADOStoredProc,
он взывает хранимую процедуру и передаёт в неё объёмный текстовый параметр (более 8000 символов). И всё бы ничего, но иногда при передаче от параметра остаются только первые 16 символов. Потому как в процедуре тип у параметра text.
Собственно, вопрос к знатокам:
Как передать в процедуру большой текст параметром, используя TADOStoredProc?
Ega23 (2009-06-26 10:08:00) [1]
> Пока что проблема была решена заменой TADOStoredProc на
> TADOQuery, которой прямо в свойство SQL.Text был запихан
> exec вместе с параметром. Варварство, конечно, но для одноразовой
> вещи сойдёт.
Замени на TADODataSet
Пример. Строка, типа exec S_SomeProc @Param1=5, @Param2=.....
Можно сразу целиковую строку.
Можно параметризированную строку, если ХП неоднократно выполняется.
Miau (2009-06-25 20:42:00) [2]> Ega23 ©
Как правило, я использую TADOConnection + TADOCommand, но тут стояла задача действовать с минимальными изменениями уже имеющегося кода.
> clickmaker ©
Спасибо! Как доберусь, так попробую.
Пока что проблема была решена заменой TADOStoredProc на TADOQuery, которой прямо в свойство SQL.Text был запихан exec вместе с параметром. Варварство, конечно, но для одноразовой вещи сойдёт.
clickmaker (2009-06-25 13:01:00) [3]то есть Parameters.ParamByName('Text').LoadFromStream
clickmaker (2009-06-25 12:59:00) [4]> Как передать в процедуру большой текст параметром, используя
> TADOStoredProc?
Blob(Memo)Field.LoadFromStream(StringStream)
Павел Калугин (2009-06-25 12:43:00) [5]Тут скорее другое. Что-то по аналогии загрузки картинки в блоб параметр
Ega23 (2009-06-25 10:10:00) [6]Оставьте на вкладке ADO 3 компонента: TADOConnection, TADODataSet и TADOCommand. Используйте их, и буде вам щщастье. Зачем нужны остальные костыли?