[英]Search Queries in VB.net Help Required?
我正在嘗試使用帶有名為search的按鈕的下拉框執行搜索查詢。 我希望它調出要搜索的數據。 我不知道從哪里開始,我一直在尋找一些編碼和不同的方法來做,但是它們看起來很復雜,這是ASP的一點,這是我的弱點,需要一些幫助和指導。 以下是該頁面的代碼;
<%@ Page Language="VB" MasterPageFile="~/MasterPage.master" AutoEventWireup="false" CodeFile="ForSale.aspx.vb" Inherits="Users_ForSale" title="Properties For Sale" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<h3>Properties For Sale</h3>
<h5>
<asp:Label ID="lblTown" runat="server" Text="Town:"></asp:Label>
<asp:DropDownList ID="ddlTownSearch" runat="server">
<asp:ListItem></asp:ListItem>
<asp:ListItem>Chadderton</asp:ListItem>
<asp:ListItem Value="Failsworth"></asp:ListItem>
<asp:ListItem>Oldham</asp:ListItem>
<asp:ListItem>Royton</asp:ListItem>
<asp:ListItem>Shaw</asp:ListItem>
</asp:DropDownList>
<asp:Label ID="lblBedroomsSearch" runat="server" Text="Bedrooms:"></asp:Label>
<asp:DropDownList ID="DropDownList1" runat="server">
<asp:ListItem></asp:ListItem>
<asp:ListItem>1</asp:ListItem>
<asp:ListItem Value="2"></asp:ListItem>
<asp:ListItem Value="3"></asp:ListItem>
<asp:ListItem>4</asp:ListItem>
<asp:ListItem>5</asp:ListItem>
<asp:ListItem>6+</asp:ListItem>
</asp:DropDownList>
<asp:Label ID="lblMinPrice" runat="server" Text="Min Price (£):"></asp:Label>
<asp:TextBox ID="txtMinPriceSearch" runat="server" Width="87px"></asp:TextBox>
<asp:Label ID="lblMaxPriceSearch" runat="server" style="text-align: left"
Text="Max Price (£):"></asp:Label>
<asp:TextBox ID="TextBox1" runat="server" Width="87px"></asp:TextBox>
</h5>
<h5>
<asp:Button ID="btnForsaleSearch" runat="server" Text="Search" />
</h5>
<p>
<asp:GridView ID="GridView1" runat="server" AllowPaging="True"
AllowSorting="True" AutoGenerateColumns="False" CellPadding="4"
DataKeyNames="ProductId" DataSourceID="SqlDataSource1" ForeColor="#333333"
GridLines="None" Width="588px">
<RowStyle BackColor="#FFFBD6" ForeColor="#333333" />
<Columns>
<asp:ImageField DataImageUrlField="ImageURL">
</asp:ImageField>
<asp:BoundField DataField="ProductId" HeaderText="ProductId" ReadOnly="True"
SortExpression="ProductId" />
<asp:BoundField DataField="Description" HeaderText="Description"
SortExpression="Description" />
<asp:BoundField DataField="Price" HeaderText="Price" SortExpression="Price" />
<asp:BoundField DataField="Town" HeaderText="Town"
SortExpression="Town" />
</Columns>
<FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#FFCC66" ForeColor="#333333" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="Navy" />
<HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="White" />
</asp:GridView>
</p>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:JPEstatesConnectionString %>"
SelectCommand="SELECT * FROM [Products]"
DeleteCommand="DELETE FROM [Products] WHERE [ProductId] = @ProductId"
InsertCommand="INSERT INTO [Products] ([ProductId], [Description], [Price], [Category], [ImageURL]) VALUES (@ProductId, @Description, @Price, @Category, @ImageURL)"
UpdateCommand="UPDATE [Products] SET [Description] = @Description, [Price] = @Price, [Category] = @Category, [ImageURL] = @ImageURL WHERE [ProductId] = @ProductId">
<DeleteParameters>
<asp:Parameter Name="ProductId" Type="String" />
</DeleteParameters>
<UpdateParameters>
<asp:Parameter Name="Description" Type="String" />
<asp:Parameter Name="Price" Type="Decimal" />
<asp:Parameter Name="Category" Type="String" />
<asp:Parameter Name="ImageURL" Type="String" />
<asp:Parameter Name="ProductId" Type="String" />
</UpdateParameters>
<InsertParameters>
<asp:Parameter Name="ProductId" Type="String" />
<asp:Parameter Name="Description" Type="String" />
<asp:Parameter Name="Price" Type="Decimal" />
<asp:Parameter Name="Category" Type="String" />
<asp:Parameter Name="ImageURL" Type="String" />
</InsertParameters>
</asp:SqlDataSource>
</asp:Content>
這取決於您的策略,如果您要使用完全相同的匹配項進行搜索,則搜索查詢將像這樣: SELECT * FROM [Products] WHERE [ProductId]=@ProductID AND [Price]=@Price AND
...以及其他條件您需要的。
如果您想檢索類似的結果,則必須使用LIKE而不是'=',例如: SELECT * FROM [Products] WHERE [ProductId] LIKE '%' + @ProductId+ '%' AND ([Price] BETWEEN @Price1 AND @Price2) AND
...以及其他條件
Price1和Price2可以是用戶輸入價格的范圍
它可以幫助您通過LIKE語句使用ASP.NET SQLParameters
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.