2016-12-04 120 views
0

並感謝您花時間閱讀我的文章!這是非常讚賞。我對ASP.Net非常陌生,我試圖創建一個簡單的頁面,可以在我的SQL Server數據庫上搜索表格。服務器簡單搜索功能

這裏是asp.net代碼:

<%@ Page Language="C#" MasterPageFile="~/PantryAdmin.Master" AutoEventWireup="true" CodeFile="ProductSearch.aspx.cs" Inherits="RampantryF.ProductSearch" %> 


    <asp:Content runat="server" ContentPlaceHolderID="ContentPlaceHolder1"> 

    <div> 



     <asp:TextBox ID="SearchBox" runat="server"></asp:TextBox> 



     <asp:Button ID="Button1" runat="server" Text="Search" OnClick="Button1_Click" /> 

    <asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False"> 
    </asp:GridView> 
     <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:fall16_g8ConnectionString %>" SelectCommand="SELECT * FROM [PRODUCT]"></asp:SqlDataSource> 
</div> 

     </asp:Content> 

我後面的代碼:

using System; 
using System.Collections.Generic; 
using System.Configuration; 
using System.Data; 
using System.Data.SqlClient; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 

namespace RampantryF 
{ 
    public partial class ProductSearch : System.Web.UI.Page 
    { 
     SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["fall16_g8ConnectionString"].ConnectionString); 
     protected void Page_Load(object sender, EventArgs e) 
     { 

     } 

     protected void Button1_Click(object sender, EventArgs e) 
     { 
      string find = "select * from PRODUCT where(PRODUCT_NAME like '%' + @PRODUCT_NAME + '%')"; 
      SqlCommand comm = new SqlCommand(find, con); 
      comm.Parameters.Add("@PRODUCT_NAME", SqlDbType.NVarChar).Value = SearchBox.Text; 

      con.Open(); 
      comm.ExecuteNonQuery(); 
      SqlDataAdapter da = new SqlDataAdapter(); 
      da.SelectCommand = comm; 
      DataSet ds = new DataSet(); 
      da.Fill(ds, "PRODUCT_NAME"); 

      GridView2.DataSource = ds; 
      GridView2.DataBind(); 

      con.Close(); 
     } 
    } 
} 

的頁面加載罰款,但是當你按下「搜索」按鈕,它只是刷新頁面,而不是將數據加載到gridview中。我想知道發生了什麼以及我如何修復它。

讓我知道是否需要其他信息。我很樂意提供。

謝謝!

+0

您是否檢查數據集是否包含任何數據表?那些數據表中有任何值? –

回答

0

做你的代碼的一些變化,檢查等參數如何分配

protected void Button1_Click(object sender, EventArgs e) 
{ 
    string find = "select * from PRODUCT where PRODUCT_NAME like @PRODUCT_NAME"; 
    SqlCommand comm = new SqlCommand(find, con); 
    comm.Parameters.Add("@PRODUCT_NAME", SqlDbType.NVarChar).Value = "%"+ SearchBox.Text + "%"; 
    SqlDataAdapter da = new SqlDataAdapter(comm); 
    DataSet ds = new DataSet(); 
    da.Fill(ds, "PRODUCT_NAME"); 
    GridView2.DataSource = ds.Tables[0]; 
    GridView2.DataBind(); 

} 

也改變了在的AutoGenerateColumns aspx頁面爲真。

<asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="true"> 
    </asp:GridView> 
+0

非常感謝! – Jessi

+0

如果它幫助您解決問題,請將其標記爲答案 – Damith