Изменить вывод параметра DataSet Designer - PullRequest
0 голосов
/ 10 декабря 2011

Я использую конструктор наборов данных VS2010, чтобы сделать несколько запросов выбора с дополнительными параметрами, подобными этим:

SELECT CustomerID, FirstName, JoinDate, etc
FROM tblCustomers
WHERE (
    (@CustomerID IS NULL OR CustomerID = @CustomerID) AND
    (@FirstName IS NULL OR FirstName = @FirstName) AND
    (@JoinedBefore IS NULL OR JoinDate < @JoinedBefore) AND
    (@JoinedAfter IS NULL OR JoinDate > @JoinedAfter) AND
    .. etc ..
)

Вывод для этих свойств типов данных и разрешить нулевой БД почти всегда неверен. В итоге я получаю строковые типы, установленные для даты и времени. Более половины полей всегда помечены как ненулевые.

Это, очевидно, наносит ущерб моим запросам. Я могу вручную изменить эти выводы, но каждый раз, когда мне нужно обновить TableAdapter, он сбрасывает их все к тому, что он считает лучшим! Кто-нибудь знает, как а) сделать правильные выводы или б) изменить их навсегда?

1 Ответ

0 голосов
/ 22 декабря 2011

Кажется, VS выводит тип данных на основе первого вхождения параметра в запросе. Потому что я поместил свой @Parater IS NULL ИЛИ ... во-первых, это смутило дизайнера и в большинстве случаев заставляло его ошибаться. Я поменял порядок моего запроса, и теперь он выводит идеально:

SELECT CustomerID, FirstName, JoinDate, etc
FROM tblCustomers
WHERE (
    (CustomerID = @CustomerID OR @CustomerID IS NULL AND
    (FirstName = @FirstName OR @FirstName IS NULL) AND
    (JoinDate < @JoinedBefore OR @JoinedBefore IS NULL) AND
    (JoinDate > @JoinedAfter OR @JoinedAfter IS NULL) AND
    .. etc ..
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...