VS2010: ListView не возвращает данных, даже если проверенный запрос при настройке источника данных работает нормально - PullRequest
0 голосов
/ 18 августа 2011

Я пытаюсь заполнить 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, то это сработает.Кто-нибудь может определить проблему или предложить что-то попробовать?Спасибо.

1 Ответ

0 голосов
/ 20 августа 2011

Таким образом, очевидно, для SQLDataSource существует свойство, называемое «CancelSelectOnNullParameter» ... да.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...