Вниз
Скачать: CL | DM;

проблем с параметрами   Найти похожие ветки 

← →
thvfrjd   (2006-03-30 11:05) [0]

Имеется хранимая процедура на SQL сервере с параметром - @p, и имеется ADOQuery в качестве текста запроса которого указано имя этой прцедуры. Добавляю в конструкторе Delphi параметр @p присваиваю ему значение. Но AdoQuery не хочет открываться пишет: "Procedure "procname" expects parameter "@p", which was not supplied" Что может быть не так?


← →
Ega23 ©   (2006-03-30 11:07) [1]

Текст запроса, а также присвоения значения параметру - в студию!


← →
thvfrjd   (2006-03-30 11:11) [2]

вот текст процедуры:
CREATE PROCEDURE [dbo].[procname]
@p smallint
AS
select id, n1, n2, n3, n4,  dr, klient,predmet  from dog where n2=@p
GO
А значение парметра просто в конструкторе добавляю парметр и присваиваю ему значение - 1 например


← →
Ega23 ©   (2006-03-30 11:27) [3]


> А значение парметра просто в конструкторе добавляю парметр
> и присваиваю ему значение - 1 например


какой тип параметра, какие опции.
Как выглядит ADOQuery.SQL?
Чему равно ADOQuery.ParamCheck


← →
Nikolay M. ©   (2006-03-30 11:29) [4]

Что мешает в TADODataSet выставить CommandType := cmdStoredProc, а в CommandText указать свою ХП? Параметры создатутся сами.
А AdoQuery - это от лукавого.


← →
thvfrjd   (2006-03-30 11:29) [5]

AdoQuery.SQL.Text:="procname"
paramcheck:=tue


← →
thvfrjd   (2006-03-30 11:31) [6]


> Что мешает в TADODataSet выставить CommandType := cmdStoredProc,
>  а в CommandText указать свою ХП? Параметры создатутся сами.
>
> А AdoQuery - это от лукавого.

можно просто я раньше не подумал и тут пределывать неохота


← →
Ega23 ©   (2006-03-30 11:33) [7]


> AdoQuery.SQL.Text:="procname"


Ну как минимум AdoQuery.SQL.Text:="exec procname @p=:Param1"


← →
Nikolay M. ©   (2006-03-30 11:47) [8]


> thvfrjd   (30.03.06 11:29) [5]
> AdoQuery.SQL.Text:="procname"


Круто, дайте две...
А параметр с потолка должен упасть? Сделай как в [4].
Ну, или оставь как есть - неработающим :)


← →
thvfrjd   (2006-03-30 11:50) [9]


> Круто, дайте две...
> А параметр с потолка должен упасть? Сделай как в [4].
> Ну, или оставь как есть - неработающим :)

Почему с потолка я ж его добавлял в конструкторе и присваивал значение пред открытием


← →
thvfrjd   (2006-03-30 11:59) [10]


> Ну как минимум AdoQuery.SQL.Text:="exec procname @p=:Param1"

все работает только двоеточие не надо
спасиюл


← →
Nikolay M. ©   (2006-03-30 12:00) [11]


> Почему с потолка


потому что


> AdoQuery.SQL.Text:="procname"


Параметра нет и взяться ему неоткуда.


← →
thvfrjd   (2006-03-30 12:03) [12]


> Параметра нет и взяться ему неоткуда.

в тексте процедуры парматр указан? - указан
в конструкторе параметр это добавлен? - добавлен
значение ему в конструкторе прсвоено? - присвоено
по логике должно было работать


← →
Ega23 ©   (2006-03-30 12:06) [13]


> по логике должно было работать


В тексте запроса параметр был указан? Не был, судя по [5]. А откуда сервер про него тогда узнает?


← →
sniknik ©   (2006-03-30 12:06) [14]

> я ж его добавлял в конструкторе и присваивал значение пред открытием
да хоть десять в конструкторе, без определения его в запросе он ничего не значит.
все хорошо в свое время на своем месте...

> по логике должно было работать
поставь в багажник канистру с бензином... попробуй поехать при пустом баке... а по логике должно работать, бензин же в машину добавили? добавили!


← →
Nikolay M. ©   (2006-03-30 12:08) [15]


> по логике должно было работать


Ты пользуешься неправильной логикой.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.025 c
15-1143413943
Ketmar
2006-03-27 02:59
2006.04.16
Alien vs Predator


15-1142938271
Некто
2006-03-21 13:51
2006.04.16
ГОСТ техническое задание


2-1143489174
EHOT
2006-03-27 23:52
2006.04.16
Media File


3-1140582394
abcd_ff
2006-02-22 07:26
2006.04.16
Вставка букв узбекского языка в проекте и сохранение в базе


1-1142331796
Экспериментатор
2006-03-14 13:23
2006.04.16
Как отправить Email с аттачем




   Наверх