Я пытаюсь заполнить ListView с помощью этой хранимой процедуры:
ALTER PROCEDURE dbo.PlayersWithFilter
(
@filter varchar(255) = NULL,
@team int = NULL
)
AS
IF @filter IS NULL
BEGIN
SELECT P1.PlayerKey, P1.Player, P2.Position, T1.TeamAbbreviation, P1.Height, P1.Weight, P1.Speed, P1.Status
FROM Player AS P1
INNER JOIN Position AS P2 ON P1.PositionID = P2.PositionID
INNER JOIN Team AS T1 ON T1.TeamID = P1.TeamID
WHERE P1.TeamID = @team
ORDER BY P2.PosSort;
END
ELSE
BEGIN
SELECT P1.PlayerKey, P1.Player, P2.Position, T1.TeamAbbreviation, P1.Height, P1.Weight, P1.Speed, P1.Status
FROM Player AS P1
INNER JOIN Position AS P2 ON P1.PositionID = P2.PositionID
INNER JOIN Team AS T1 ON T1.TeamID = P1.TeamID
WHERE P1.Player LIKE '%' + @filter + '%'
ORDER BY P2.PosSort;
END
Теперь, если я проверю это в разделе «Тестовый запрос» «Настройка источника данных», он работает.Когда я пытаюсь работать с ним в браузере во время отладки, он всегда не возвращает строк.Если я закомментирую оператор IF и параметр @filter и просто работаю с параметром @team, то это сработает.Кто-нибудь может определить проблему или предложить что-то попробовать?Спасибо.