【问题标题】:DataSet not being filled and I can not understand why...?DataSet 没有被填充,我不明白为什么......?
【发布时间】:2013-04-08 01:54:59
【问题描述】:

所以我正在处理的项目有问题。由于我们的查询中有大量数据,我正在创建一个网格视图,它将由 SQL Server 处理分页和排序。我已经下载了一个如何执行此操作的示例,更改了示例 SQL 以适合我的表,并且它测试得很好。一旦我将此代码传输到我的主项目,数据集就不会被任何数据填充。事实上,我知道代码有效,我知道 SQL 返回 48 行,并且应该以每页 25 行进行分页。我什至尝试在返回 ArrayList 的函数中运行 SQL,然后将其转换为数据表并填充 DataSet,正在填充数据表,但 DataSet 上的数据计数返回为 0.... 我在完全的损失。我完全没有错误,它正在与我的数据库进行通信。任何帮助都会很棒,因为我对此一无所知。

这是我填充数据集的代码;

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

【问题讨论】:

  • 您的代码看起来不错。这可能与传递给 GetDataSet 方法的查询有关。
  • 我不确定你的意思,遗憾的是我对 DataSets 不是很精通。我知道查询工作正常,现在用于测试并开始它只是一个 SELECT * FROM tbCompany 以生成我们的客户列表。

标签: asp.net sql-server dataset gridview-sorting


【解决方案1】:

在第一个代码中,像这样首先用表格填充 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();

【讨论】:

    猜你喜欢
    • 2017-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多