2016-12-04 7 views
0

と私の記事を読む時間を取ってくれてありがとう!非常に感謝しています。私はASP.Netにはかなり新しく、SQL Serverデータベース上のテーブルを検索できる簡単なページを作成しようとしています。サーバ簡単検索機能

<%@ 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> 

私のコードの後ろに:ここで

はasp.netのコードである

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(); 
     } 
    } 
} 

ページのロード罰金ができますが、「検索」ボタンを押すと、それだけではなく、ページを更新しますグリッドビューにデータをロードします。私は何が起こっているのだろうと私はそれを修正することができますかと思います。

その他の情報が必要な場合は教えてください。私はそれを提供して満足しています。

ありがとうございました!あなたのコードに行わ

+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(); 

} 

を割り当てるなどのパラメータはまた、aspxページで真としてAutoGenerateColumnsをどのように変化するかを確認してください。

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

ありがとうございました! – Jessi

+0

問題を解決するのに役立つ場合は、これを回答としてマークしてください – Damith