У меня проблема с значениями, возвращаемыми из хранимой процедуры. У меня есть раскрывающийся список, из которого я хочу быть изначально пустым, но затем содержать уникальные типы улиц. Таким образом, пользователь может либо оставить поле пустым, чтобы вернуть все результаты, либо начать вводить текст и получать предложения от возможных записей, которые существуют.Обработка NULL в раскрывающемся списке из Entity Framework Stored Proc
Список - это уникальные типы улиц, которые извлекаются из хранимой процедуры, которая просто выполняет запрос DISTINCT в главной таблице всех адресов. Однако я получаю NULL в результате, и мой выпадающий список, кажется, прекращает показывать результаты, когда он ударяет по этому нулю.
Я использую структуру Entity и добавил хранимую процедуру, которая возвращает набор строк, а затем использовал следующий код для заполнения поля со списком. Если я не оставлю упорядочение в хранимой процедуре, нуль будет где-то посередине, и я получу половину результатов, если я его закажу, так что сначала нуль я не получаю никаких результатов в своем поле со списком.
SideSewerDAL.SideSewerEntities entities = new SideSewerDAL.SideSewerEntities();
comboType.DataSource = entities.GetUniqueStreetTypes();
Так я собираюсь об этом не так? Должен ли я избавиться от NULL в моем storeproc и как-то исправить combobox, чтобы добавить «пустую» запись? Или сохраните NULL, но каким-то образом сделайте combobox обработать нули, а не задохнуться! Вот код хранимого прока
public ObjectResult<global::System.String> GetUniqueStreetTypes()
{
return base.ExecuteFunction<global::System.String>("GetUniqueStreetTypes");
}
Если вы вернетесь «» из вашего sproc вместо NULL это работает? –
Как только вы получите результат из базы данных, просто добавьте туда новый пустой элемент. Удостоверьтесь, что вы исключали NULL из sproc. –
Это Майк. Я должен был повторить хранимую процедуру следующим образом: \t SELECT DISTINCT ISNULL (stType, ''), как stType \t ОТ SideSewer.dbo.SSCard \t \t ORDER BY stType –