Доступ к данным с помощью элементов управления источником данных (DataSource) в ASP.NET 2.0 - Обработка пустых полей базы данных (NULL)

ОГЛАВЛЕНИЕ

Обработка пустых полей базы данных (NULL)

Мы уже рассматривали способ настройки элемента SqlDataSource таким образом, чтобы он выполнял выражения UPDATE к базе данных, а также способ настройки элемента GridView для работы в паре с элементом SqlDataSource, чтобы предоставить интерфейс редактирования. По умолчанию, интерфейс редактирования GridView обрабатывает TextBox для каждой редактируемой колонки в табличной сетке. Тем не менее, в определенных случаях нам может понадобиться специализация интерфейса редактирования, в частности, включение элементов управления валидацией или использование альтернативных элементов управления сбора пользовательского ввода. Мы специализировали интерфейс редактирования таким образом, что при редактировании товара из базы данных Northwind пользователь мог бы выбрать категорию товара при помощи элемента управления DropDownList вместо того, чтобы вводить значение CategoryID в поле TextBox.

В случае специализации интерфейса редактирования появляется один недостаток - данный подход может не работать с товарами, которые не имеют значения CategoryID (NULL) в базе данных. В том случае, если запрос SELECT, применяемый для заполнения GridView, использовал INNER JOIN,  значит, этот запрос возвращал только те товары, которые принадлежали какой-либо категории. Даже если мы обновим запрос так, чтобы он использовал LEFT JOIN, DropDownList  в интерфейсе редактирования не будет включать в себя элементы, представляющие пустое значение (NULL), так что пользователь не сможет редактировать товар и изменить его категорию с существующего значения на NULL.

В данной статье мы рассмотрим способ специализации DropDownList в интерфейсе редактирования таким образом, чтобы он правильно обрабатывал пустые значения базы данных. Читайте далее, чтобы узнать больше об этом!