2017-02-03 2 views
0

У меня есть хранимая процедура, которая имеет структуру, как это:как передать несколько значения целого параметра в SSRS

ALTER PROCEDURE dbo.GetUserFullName 

(@NoteStoreType INT = NULL) 

AS 
SELECT DISTINCT dbo.tblUsers.LastName + ', ' + dbo.tblUsers.FirstName as UnderwriterName 
FROM   tblUsers 
WHERE   tblUsers.Type = COALESCE(@NoteStoreType, tblNoteStore.Type) 

В своем докладе SSRS я хочу сказать, если потом @NoteStoreType= NULL выбрать ВСЕ NoteStoreTypes, если нет, то использовать @NoteStoreType этот пользователь будет выбирать.

Если я допускаю несколько значений, это дает мне ошибку, преобразующую тип данных int в строку.

enter image description here

Могу ли я сделать это в SSRS, не меняя ничего в моей хранимой процедуры?

+0

Если вы хотите разрешить пользователю выбирать несколько значений в своем параметре, вам придется изменить свой SP. Почему бы вам просто не использовать 'where tblUsers.Type IN (@NoteStoreType)' и установить все значения в качестве значения по умолчанию в вашем параметре? Также обратите внимание, что ваш параметр не установлен так, чтобы разрешить null, чтобы ваш SP не принимал параметр null. –

ответ

2

Множество параметров, которые были выбраны, передаются в сохраненный proc как строку. Вам нужно будет изменить хранимый proc, чтобы разделить эту строку. Также, если вы хотите передать null, вам нужно будет проверить допустимое значение null.

Смежные вопросы