DropdownList SqlDataSource не вытягивает * все * записи - PullRequest
0 голосов
/ 02 сентября 2011

У меня есть DropDownList, который связан с SQLDataSource.Я выполняю точно такой же запрос в SQL Management Studio, и он извлекает все записи, но когда я выполняю его в SQLDataSource, он не извлекает две записи, которые я только что добавил.Почему?

SELECT [RepID], [ManagerID] 
FROM MyDB1.dbo.Reps 
WHERE [Role] = 'Manager' AND ISNULL(RepType, 'Account Exec') <> 'House Account Exec'

union

SELECT [RepID], [ManagerID] 
FROM MyDB2.dbo.Reps 
WHERE [Role] = 'Manager' AND ISNULL(RepType, 'Account Exec') <> 'House Account Exec'

Проблемной строкой является поле RepType.Я проверил, что это NULL для записей, которые я хочу получить.Я потратил на это больше часа.Кто-нибудь сталкивался с такой вещью?Любые предложения?

Вывод из SMSS

RepID       ManagerID
----------- -----------
1           1
9           9
10          10        <- this guy does not show in DropDown
42          42
333         333       <- and this guy
1026        1026
1065        1065
2014        1
3009        3009
3025        3025
5000        5000
5002        5002
6000        6000
9000        9000

это не единственная проблема.Даже если удалить условие ISNULL (RepType, Account Exec), оно все равно не извлекает repID = 333, в то время как оно делает pul repID = 10.

Я обнаружил, что есть дубликат repID= 10, но все равно он должен вести себя одинаково в SSMS и в выпадающем списке.

Ответы [ 2 ]

1 голос
/ 02 сентября 2011

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

  1. Rep с RepID = 10, существует для двух записей, что может быть проблемой.

  2. В двух таблицах одна таблица имеет reptype = 'House Account Exec', а в другой - Null.Это условие интерпретируется по-разному, когда запрос выполняется в SMSS и в SQLDatasource.

Есть еще вещи, которые я не могу разрешить.Например, repID = 333 появляется в SMSS, но не в раскрывающемся списке.

0 голосов
/ 02 сентября 2011

Предложите преобразовать ваш SQL-запрос в хранимую процедуру, а не в специальный оператор SQL.

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