2013-08-16 116 views
0

我有一個存儲過程在SQL中搜索員工的詳細信息。當它發現一些東西時,它會返回並在gridview中顯示數據。但是,如果它沒有返回任何東西,我該如何處理呢?就像'沒有記錄被發現'一樣?搜索查詢返回沒有

using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["DBReader"].ConnectionString)) 
{ 
    using (SqlCommand com = new SqlCommand("[Reader].[usp_SearchUser]", con)) 
    { 
     com.CommandType = CommandType.StoredProcedure; 
     com.Parameters.Add("@empID", SqlDbType.Int).Value = this.EmpID; 
     con.Open(); 
     int result = com.ExecuteNonQuery(); 
     if (result == 0) 
     { 
      this.NoRecord = "No Record Found"; 
     } 
     else 
     { 
      SqlDataAdapter da = new SqlDataAdapter(com); 
      DataSet ds = new DataSet(); 
      da.Fill(ds); 
      search.DataSource = ds; 
      search.DataBind(); 
     } 

    } 
} 
+0

你爲什麼不只是檢查'ds.Tables [0] == .Rows.Count 0'? –

+0

你幾乎在代碼中處理它。你還想做什麼?如果你需要顯示一些消息,我認爲你可以根據返回的結果在gridview中完成。 – Nilesh

回答

0

沒有得到什麼是您確切的問題?當沒有數據時你想要gridview屬性,那麼它會顯示爲沒有找到記錄,即EmptyDataText =「找不到記錄」

<asp:GridView ID="GridView1" runat="server" EmptyDataText="No records Found"> 
    <Columns> 
      <asp:boundfield datafield="empID" headertext="Employee ID"/> 
      <asp:boundfield datafield="empName" headertext="Employee Name"/> 
    </Columns> 
    </asp:GridView> 
0

我想你使用webcontrol GridView?因此,如果沒有數據綁定,您可以使用GridView.EmptyDataTemplate完全控制要呈現的內容。

<asp:gridview id="yourGridView" runat="server"> 
    <emptydatatemplate> 
     No Data Found! 
     <img src="noData.jpg"/> 
    </emptydatatemplate> 
    </asp:gridview> 

或者只是使用EmptyDataText財產,如果你只是想顯示的文本消息

<asp:gridview id="yourGridView" emptydatatext="No Data Found" runat="server"> 
    .... 
</asp:gridview>