如何使用文本框在ASP.NET中搜索数据库
问题描述:
我有一个简单的问题,我构建了一个ASP.NET网站并设置了一个数据库(SQL Server 2008)。我使用顶部的搜索文本框显示数据库的所有条目中的一个。我将如何去获取用户输入的值,并使用该字符串仅显示适用于它的数据条目。如何使用文本框在ASP.NET中搜索数据库
这里是我的.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>
现在我想搜索的字符串,并将其与数据库中的第二列姓氏并且只显示姓氏匹配的记录。任何帮助将不胜感激
答
这应该是非常接近,从内存做它,但它可能会有点关闭。这应该足以让你在正确的方向前进,虽然我觉得
<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>