![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как передать в Хранимую процедуру параметр=null [D5, MSSQL]
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 выскакивает сообщение о нехватке входных параметров, т.е. параметр не передается.