2013-04-15 28 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(); 
相关问题