2012-03-07 83 views
0

我有一個簡單的問題,我構建了一個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> 

現在我想搜索的字符串,並將其與數據庫中的第二列姓氏並且只顯示姓氏匹配的記錄。任何幫助將不勝感激

回答

1

這應該是非常接近,從內存做它,但它可能會有點關閉。這應該足以讓你在正確的方向前進,雖然我覺得

<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

你必須配置於數據庫來執行包含和自由文本querys,你可以到你的數據庫的基礎上的數據進行搜索這種辦法,符合你的領域標準。

how to search a database

相關問題