2013-04-15 59 views
0

因此,我正在處理一個正在處理的項目問題。我正在創建一個GridView,由於我們的查詢中有大量的數據,所以會有由SQL Server處理的分頁和排序。我已經下載了一個如何做到這一點的示例,更改了示例SQL以適合我的表,並且它測試得很好。一旦我將這段代碼轉移到我的主項目中,數據集就不會被任何數據填充。我知道代碼的工作原理,我知道SQL返回48行,應該每頁25行。我甚至嘗試在返回ArrayList的函數中運行SQL,然後將其轉換爲Data Table並填充DataSet,數據表正在填充,但DataSet上的數據計數返回爲0 ....我在總虧損。我沒有得到任何錯誤,並且正在與我的數據庫進行通信。任何幫助將是偉大的,因爲我在這一個損失之外。DataSet未被填充,我不明白爲什麼...?

這裏是我填充DataSet的代碼;

public DataSet GetDataSet(string sql) { 
    DataSet ds = new DataSet(); 

    using (SqlConnection conn = new SqlConnection(_connectionString)) 
    { 
     SqlDataAdapter adapter = new SqlDataAdapter(); 
     adapter.SelectCommand = new SqlCommand(sql, conn); 
     conn.Open(); 
     adapter.Fill(ds); 
    } 

    return ds; 
} 

我也試過這段代碼;

SqlConnection src = new SqlConnection(_connectionString); 

     try 
     { 
      src.Open(); 
      using (SqlDataAdapter DA = new SqlDataAdapter(sql, src)) 
      { 

       DataTable report = new DataTable(); 
       DA.Fill(report); 
       DS = new DataSet(); 
       DS.Tables.Add(report); 

      } 


      src.Close(); 
     } 
+0

您的代碼看起來不錯。這可能與傳遞給GetDataSet方法的查詢有關。 – Win

+0

我不確定你的意思,我不是很熟悉DataSets。我知道查詢工作正常,現在進行測試,並啓動它只是一個SELECT * FROM tbCompany來生成我們的客戶列表。 –

回答

0
在第一碼

,填寫DS與表第一喜歡這個

con.open(); 
adapter.Fill(ds,"THE TABLE NAME EXACTLY IN YOUR DB"); 
GridView1.DataSource= ds.Tables["THE TABLE NAME EXACTLY IN YOUR DB"]; 
GridView1.DataBind(); 
相關問題