Фильтрация базы данных при помощи параметров в ASP.NET 2.0 - Фильтрация на основе жёстко закодированного значения
ОГЛАВЛЕНИЕ
Фильтрация на основе жёстко закодированного значения
При указании значения параметров вас попросят выбрать источник параметра ("Parameter source") при помощи выпадающего списка, содержащего следующие опции:
- не указывать (None)
- файл cookie (Сookie)
- элемент управления (Control)
- форма (Form)
- профиль (Profile)
- строка запроса (QueryString)
- сессия (Session)
Чтобы указать жёстко закодированное значение, выберите опцию None и затем в текстовом поле значения введите ваше жёстко запрограммированное значение. Как только вы укажете значение параметра и завершите работу с мастером, вы получите следующую декларативную разметку элемента управления SqlDataSource:
<asp:SqlDataSource ID="ID" runat="server" ConnectionString="connectionString"
ProviderName="providerName"
SelectCommand="parameterizedQuery">
<SelectParameters>
<asp:Parameter DefaultValue="hardCodedValue"
Name="parameterName"
Type="dataType" />
</SelectParameters>
</asp:SqlDataSource>
В частности, существует один экземпляр <asp:Parameter> для каждого жёстко заданного значения параметра, указанного в мастере. Атрибут DefaultValue параметра содержит значение, которое вы ввели в текстовое поле, в то время как атрибут Name ссылается на название параметра. (Для Microsoft Access, который использует ? для параметров, атрибут Name?. Единственным важным моментом тут является то, что экземпляры <asp:Parameter> применяются в порядке к параметрам ? .) Наконец, параметр Type указывает тип значения параметра. ссылается на колонку базы данных которая используется параметром, хотя данное значение может быть изменено поскольку название параметра на самом деле
В приложении к данной статье вы найдете пример названный "Filter on Hard-Coded Value Demo" (фильтрация по жёстко заданному значению). В данном примере, SqlDataSource настроен на возвращение всех товаров, фильтруя их таким образом, что возвращены только те, где UnitPrice < 15.00. Финальная разметка SqlDataSource, а также результаты привязанные к GridView показаны ниже:
<asp:SqlDataSource ID="ID" runat="server" ConnectionString="connectionString"
ProviderName="providerName"
SelectCommand="SELECT [ProductID], [ProductName], [UnitPrice] FROM [Products] WHERE ([UnitPrice] = ?)">
<SelectParameters>
<asp:Parameter DefaultValue="15.00"
Name="UnitPrice"
Type="Decimal" />
</SelectParameters>
</asp:SqlDataSource>