Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Передача параметра в хранимую процедуру. [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. Используйте их, и буде вам щщастье. Зачем нужны остальные костыли?


Наверх

Титульная страница Поиск, карта сайта Написать письмо