关于html:如何使用文本框在ASP.NET中搜索数据库

How to search a database in ASP.NET using a text box

我有一个快速的问题,我正在建立一个ASP.NET网站并建立了一个数据库(SQL Server 2008)。我的一页中,我将显示数据库的所有条目,并在顶部显示一个搜索文本框。我将如何处理用户输入的值,并使用该字符串仅显示适用于它的数据条目。

这是我的.aspx文件代码

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
    <fieldset>
        <legend>Search</legend>
        Last Name: </asp:TextBox>
         <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: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" />
       
       
    </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进行比较,并仅显示姓氏与之匹配的记录。任何帮助将不胜感激


这应该非常接近,尽管它是从内存中读取的,所以可能有点偏离。尽管我认为

足以使您朝正确的方向前进

1
2
3
4
5
6
7
8
<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>
       
    </SelectParameters>
</asp:SqlDataSource>

您必须配置数据库以执行包含和自由文本查询,这样您就可以根据与字段条件匹配的数据对数据库进行搜索。

如何搜索数据库