2014-09-24 43 views
0

數據表和表演環節我有這樣的問題:數據庫,爲結果

我有一些表的數據庫,即時通訊填充數據集的所有信息,並張貼在GridView上。

整個想法是在用戶數據庫中進行搜索,現在我想要做的是從數據集中排除信息,使用表中的ID,這樣我就可以將搜索結果重定向到新配置文件,該配置文件必須是通過鏈接完成。

所以,我想要的是得到它的onclick他們將用戶重定向到配置文件鏈接的結果。

這是一個Web應用程序。

namespace DisplayingImages 
{ 
    public partial class WebForm7 : System.Web.UI.Page 
    { 
     SqlConnection con = new SqlConnection("ConnectionString"); 

     protected void Page_Load(object sender, EventArgs e) 
     { 

     } 
     protected void Button1_Click1(object sender, EventArgs e) 
     { 
      int i=0; 
      DataTable PassRecord = new DataTable(); 
      String str = "select First_Name,Surname from ID where (First_Name like '%'+ @search +'%') OR (Surname like '%'+ @search +'%') OR (Email_Account like '%'+ @search +'%')"; 
      SqlCommand Srch = new SqlCommand(str, con); 
      Srch.Parameters.Add("@search", SqlDbType.NVarChar).Value = TextBox1.Text; 
      con.Open(); 
      Srch.ExecuteNonQuery(); 
      SqlDataAdapter da = new SqlDataAdapter(); 
      da.SelectCommand = Srch; 
      DataTable dt = new DataTable(); 
      DataSet ds = new DataSet();  
      GridView1.DataSource = ds; 
      GridView1.DataBind(); 
      con.Close(); 
     } 
    } 
} 
+2

當您使用SELECT語句時,不需要'ExecuteNonQuery'。 – 2014-09-24 07:45:31

回答

0

您使用一個空的數據集。你必須填寫它,否則你將有一個空的gridview。

da.Fill(ds); 

像Soner說的你不必使用ExecuteNonQuery。改用ExecuteQuery。
的executeQuery:當你從數據庫中選擇數據,然後使用這個
的ExecuteNonQuery:當您插入或更新的數據到數據庫中,然後使用這個

有,你可能已經在使用RowDataBound事件。
我不能看到,從這段代碼。
但在那裏你必須填寫的聯繫。
如果你沒有它那麼這裏就是一個例子。

在前臺你做這樣的事

<asp:GridView ID="Gridview" runat="server" OnRowDataBound="Gridview_RowDataBound"> 
    <Columns> 
     <asp:TemplateField> 
      <ItemTemplate> 
       <asp:Hyperlink runat="server" ID="link" /> 
      </ItemTemplate> 
     </asp:TemplateField> 
    </Columns> 
</asp:GridView> 


並在後面的代碼。

protected void Gridview_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    //Get data row view 
    DataRowView dataRow = ((e.Row.DataItem)DataRowView); 
    if (e.Row.RowType == DataControlRowType.DataRow) 
    { 
     var link = ((HyperLink)e.FindControl("Link")); 
     link.Text = "some text"; 
     link.NavigateUrl = String.Format("{0}?id={1}", page, dataRow.ID); 
    } 
} 

我已經這樣做了,因爲它不是我的頭,所以它不完全複製粘貼,但你明白了。
你也可以綁定一個onclick事件,但這會讓它更難一點。
在目標url中,您可以使用querystring讀取該id並再次從數據庫中獲取數據。

+0

嗨,謝謝你的回答! – frcake 2014-09-26 07:27:03

+0

您的歡迎,很高興我可以幫助:) – VRC 2014-09-26 07:51:11