EXECUTE sp_executesql @SQLQuery;
В окне Output имеем:
SELECT TimeMessage, Nick, ToNick, Chanel, TextMessage FROM vChat WHERE
(TimeMessage >= @DateFirst) AND (TimeMessage <= @DateLast) AND (CharId =
@CharID)
Must declare the scalar variable "@DateFirst".
Хотя в коде процедуры имеются такие стороки:
ALTER PROCEDURE dbo.pChat
(
/*Начальная и конечная дата*/
@DateFirst SmallDateTime = NULL,
@DateLast SmallDateTime = NULL,
.....
)
/*Расчет временного интервала*/
DECLARE @TimeMin SmallDateTime;
DECLARE @TimeMax SmallDateTime;
SELECT @TimeMin= MIN(TimeMessage), @TimeMax = MAX(TimeMessage) FROM vChat;
IF (@DateFirst IS NOT NULL) SELECT @DateFirst = @TimeMin;
Не дайте умереть!
"Soloshenko Dmitriy" сообщил/сообщила в новостях следующее:
> Уже неделю бьюсь над процедурой. Последний вариант делает следующее:
> PRINT @SQLQuery;
>
> EXECUTE sp_executesql @SQLQuery;
Здесь надо так:
EXECUTE sp_executesql @SQLQuery, N'@DateFirst SmallDateTime, @DateLast SmallDateTime, @CharID int', @DateFirst, @DateLast, @CharID
Как-то так, если не опечатался нигде.
> В окне Output имеем:
> SELECT TimeMessage, Nick, ToNick, Chanel, TextMessage FROM vChat WHERE
> (TimeMessage >= @DateFirst) AND (TimeMessage <= @DateLast) AND (CharId =
> @CharID)
> Must declare the scalar variable "@DateFirst".
Внимательнее читай описание sp_executesql в BOL. Там написано, как с параметрами работать.
> Не дайте умереть!
Как можно-с...
С наилучшими пожеланиями, Дмитрий.
dim_nУБРАТЬrnivcРУССКИЕkisБУКВЫru