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

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

Как передать в Хранимую процедуру параметр=null [D5, MSSQL]


Страницы:   1 2

pic509 ©   (2006-08-29 16:37:00) 

Люди, помогите! Необходимо передавать параметры в ХП, в том числе параметр может быть null.


Ega23   (2006-08-30 17:30:00) [1]


> Видимо Делфи глючила!


Сомневаюсь...   :о)


pic509   (2006-08-30 17:28:00) [2]

СПАСИБО! Все заработало! Видимо Делфи глючила!
Заработало как писал Ega23: проинициализировал в заголовке ХП нужный параметр = null, а при вызове из Делфи этот параметр просто пропускал.


Val   (2006-08-30 12:48:00) [3]

Коллеги, что-то мы не поймем друг друга.
Все мы понимаем, что в хп параметр со значением по умолчанию и без него - вещи разные принципиально.
Я НЕ знаю нужен ли автору ветки параметр в хп со значением по умолчанию. Если нужен, то конечно, логично воспользоваться советом Ega23 ©.
Если же ему просто нужно передать в параметр хп с клиента значение null с помощью TStoredProc, я предлагаю, как вариант, еще не перечисленный среди прочих в данной ветке, попробовать просто не инициализировать его на клиете вообще. Я пользуюсь таким методом в нашем рабочем проекте давно и часто, НО наш аналог TStoredProc несколько видоизменен, что произойдет при опускании инициализации параметра на клиенте в случае с оригинальным TStoredProc я _не помню_ - то ли при Execute он выругается на отсутствие параметра, то ли передаст null в ХП. Это я и предлагаю автору проверить.


saxon   (2006-08-30 12:33:00) [4]

Что то <цитата> сглючила.
Конечно их (цитаты) надо поменять местами.


Ega23   (2006-08-30 12:32:00) [5]


> кто сказал что он должен быть null по умолчанию в хп?
>


Тогда я вообще ничего не понимаю.
Приведи заголовок ХП и код по формированию TStoredProc на клиенте.


saxon   (2006-08-30 12:31:00) [6]


> Val ©   (30.08.06 12:09) [20]

Умолчание дает возможность сделать ->

> Val ©   (30.08.06 12:17) [22]

а null - это как вариант, и только.


Val   (2006-08-30 12:17:00) [7]

>[21] Ega23 ©   (30.08.06 12:15)
кто сказал что он должен быть null по умолчанию в хп?


Ega23   (2006-08-30 12:15:00) [8]


> на сервере процедура с тремя параметрами.
> создаем tstoredproc, передаем два первых. execute.


Ещё раз: что мешает задать параметр по-умолчанию непосредственно в ХП?


Val   (2006-08-30 12:09:00) [9]

>18,19
не о том.
на сервере процедура с тремя параметрами.
создаем tstoredproc, передаем два первых. execute.


Desdechado   (2006-08-30 12:03:00) [10]

>  разве не пойдет от компонетнта null в параметр, по умолчанию?
VarIsEmpty, VarIsNull, VarIsClear
почитай про варианты


Ega23   (2006-08-30 12:03:00) [11]

см. [1], там жирным выделено.


Val   (2006-08-30 11:54:00) [12]

Кстати, а если не передавать параметра вообще в случае с null, разве не пойдет от компонетнта null в параметр, по умолчанию?


Ega23   (2006-08-30 10:41:00) [13]


> Именно с собакой


Ну может быть, может быть... Всё равно не пользуюсь...


evvcom   (2006-08-30 10:37:00) [14]

> [14] Ega23 ©   (30.08.06 10:23)

Именно с собакой


Ega23   (2006-08-30 10:23:00) [15]


> Потому что это MSSQL. У него имена параметров на @ начинаются.
>
>


Представь себе, мне это прекрасно известно. А в TStoredProc надо именно полное имя параметра указывать? С "собакой"? Или всё-таки без?
Просто я этой дрянью (TStoredProc) последний раз лет 6 назад пользовался.


evvcom   (2006-08-30 10:20:00) [16]

> [8] Ega23 ©   (29.08.06 17:27)

Потому что это MSSQL. У него имена параметров на @ начинаются.


Reindeer Moss Eater   (2006-08-29 19:39:00) [17]

ParamByName('paramname').Clear;


saxon   (2006-08-29 19:24:00) [18]

Сделай по дефаулту параметр (в ХП) = null, и вообще ничего не передавай (если Delphi не поругает), или Value:=null


ANB   (2006-08-29 18:06:00) [19]


> pic509 ©   (29.08.06 18:03) [9]

А запости ка весь код и заодно код хранимки


pic509   (2006-08-29 18:03:00) [20]

Делфи воспринимает нормально, но при выполнении ExecProc выскакивает сообщение о нехватке входных параметров, т.е. параметр не передается.


Страницы:   1 2

Наверх

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