开发者

Search Queries in VB.net Help Required?

I am trying to perform a search query using drop down boxes with a button named search. I want it to bring up the data that is searched for. I dont know where to start from, i have looked around for some coding and different ways to do it but they seem complicated, this is the bit of ASP that is my weakness, need some assistance and guidance. below is the code for the page;

   <%@ 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开发者_JS百科 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>


It depends on your strategy, if you want to search with EXACTLY same matches your search query will be like this: SELECT * FROM [Products] WHERE [ProductId]=@ProductID AND [Price]=@Price AND...and other conditions that you need.

and if you like to retrieve similar results you have to use LIKE instead of '=' like this one: SELECT * FROM [Products] WHERE [ProductId] LIKE '%' + @ProductId+ '%' AND ([Price] BETWEEN @Price1 AND @Price2) AND...and other conditions

Price1 and Price2 can be range of user input price

It helps you for using ASP.NET SQLParameters with LIKE statement

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜