Как искать базу данных в ASP.NET с помощью текстового поля - PullRequest
0 голосов
/ 07 марта 2012

У меня быстрый вопрос, я создаю веб-сайт ASP.NET и настроил базу данных (SQL Server 2008).На одной из моих страниц я показываю все записи базы данных с текстовым полем поиска вверху.Как мне взять значение, введенное пользователем, и использовать эту строку для отображения только тех записей данных, которые относятся к ней.

Вот мой код для файла .aspx

<%@ Page Title="" Language="vb" AutoEventWireup="false" MasterPageFile="~/Layout.Master" CodeBehind="db.aspx.vb" Inherits="Project4.db" %>

    <fieldset>
        <legend>Search</legend>
        Last Name: <asp:TextBox ID="LastNameSearch" runat="server"></asp:TextBox>
        <asp:Button ID="Submit" runat="server" Text="Search" /> <br />
    </fieldset>



<asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource1" 
    AutoGenerateColumns="False" BackColor="White" BorderColor="#3366CC" 
    BorderStyle="None" BorderWidth="1px" CellPadding="4" 
    DataKeyNames="FirstName,LastName,PhoneNum" AllowPaging="True">
    <Columns>
        <asp:CommandField ShowEditButton="True" />
        <asp:BoundField DataField="FirstName" HeaderText="FirstName" 
            SortExpression="FirstName" ReadOnly="True" />
        <asp:BoundField DataField="LastName" HeaderText="LastName"
            SortExpression="LastName" ReadOnly="True" />
        <asp:BoundField DataField="PhoneNum" HeaderText="PhoneNum"
            SortExpression="PhoneNum" ReadOnly="True" />
        <asp:BoundField DataField="Email" HeaderText="Email" SortExpression="Email" />
        <asp:CommandField ShowDeleteButton="True" />
    </Columns>
    <FooterStyle BackColor="#99CCCC" ForeColor="#003399" />
    <HeaderStyle BackColor="#003399" Font-Bold="True" ForeColor="#CCCCFF" />
    <PagerStyle BackColor="#99CCCC" ForeColor="#003399" HorizontalAlign="Left" />
    <RowStyle BackColor="White" ForeColor="#003399" />
    <SelectedRowStyle BackColor="#009999" Font-Bold="True" ForeColor="#CCFF99" />
    <SortedAscendingCellStyle BackColor="#EDF6F6" />
    <SortedAscendingHeaderStyle BackColor="#0D4AC4" />
    <SortedDescendingCellStyle BackColor="#D6DFDF" />
    <SortedDescendingHeaderStyle BackColor="#002876" />
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
    ConnectionString="<%$ ConnectionStrings:Database1ConnectionString %>" 
    SelectCommand="SELECT [FirstName], [LastName], [PhoneNum], [Email] FROM [MailList]" 
    ViewStateMode="Disabled" OldValuesParameterFormatString="original_{0}">

</asp:SqlDataSource>

Теперь я хочу найти строку и сравнить ее свторой столбец базы данных LastName и отображает только те записи, где совпадает фамилия.Любая помощь будет принята с благодарностью

Ответы [ 2 ]

1 голос
/ 07 марта 2012

Это должно быть довольно близко, делая это из памяти, хотя, возможно, это будет немного не так. Этого должно быть достаточно, чтобы вы пошли в правильном направлении, хотя я думаю

<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
    ConnectionString="<%$ ConnectionStrings:Database1ConnectionString %>" 
    SelectCommand="SELECT [FirstName], [LastName], [PhoneNum], [Email] FROM [MailList] WHERE [LastName] = @lastName" 
    ViewStateMode="Disabled" OldValuesParameterFormatString="original_{0}">
    <SelectParameters>
        <asp:ControlParameter ControlID="LastNameSearch" Name="lastName" defaultValue="" />
    </SelectParameters>
</asp:SqlDataSource>
0 голосов
/ 07 марта 2012

вы должны настроить свою базу данных на выполнение запросов о содержании и свободном тексте, чтобы вы могли выполнять поиск в базе данных на основе данных, соответствующих критериям ваших полей.

как искать в базе данных

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...