当前位置: 代码迷 >> C# >> c# 的dataGridview 查找到的数据多了好多空的列,求教
  详细解决方案

c# 的dataGridview 查找到的数据多了好多空的列,求教

热度:21   发布时间:2016-05-05 04:13:23.0
c# 的dataGridview 查找出的数据多了好多空的列,求教
本来我查找第一次的时候是正确的:
第一次查找的代码:
select convert(varchar(7),日期,111) as '年月', sum(金额) as '总金额' from 日常消费表 group by convert(varchar(7),日期,111)

如图:

第二次查找执行的代码:
String.Format("select sum(金额) from 日常消费表 where 日期 between '{0}' and '{1}'",dateTime_begin.Value,dateTime_end.Value);
可是第二次选择其他的查询的方法的时候,就出来了很多空的列:
如图:


求教,怎么解决?
我的显示到dataGridview的代码如下:
      public void DataDeal(string sql, DataGridView dataGrid_record)//连接数据处理函数
        {//使用DataSet同时读取多条信息
            try
            {
                //conn.Open();
                //ada = new SqlDataAdapter(sql, conn);//创建数据适配对象
                //ada.Fill(ds, "月固定收入表");//填充数据集对象
                //dataGrid_record.DataSource = ds.Tables["月固定收入表"];//指定数据源
                //ds.Tables["月固定收入表"].Clear();//避免查找的时候出现重复的现象
                //ada = new SqlDataAdapter(sql, conn);//创建数据适配对象
                //ada.Fill(ds, "月固定收入表");//填充数据集对象
                //dataGrid_record.DataSource = ds.Tables["月固定收入表"];//指定数据源

                conn.Open();
                ada = new SqlDataAdapter(sql, conn);//创建数据适配对象
                DataSet ds1 = new DataSet();
                ada.Fill(ds1, "月固定收入表");//填充数据集对象
                dataGrid_record.DataSource = ds.Tables["月固定收入表"];//指定数据源
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            finally
            {
                conn.Close();//关闭数据库连接
            }

        }

------解决思路----------------------
第二次查询 的时候,你是不是用了同一个数据集,之前的列没有清空!
------解决思路----------------------
同意楼上  赋值前判断 是否有列数,有则清空 。
------解决思路----------------------
你第二次执行查询的SQL语句,是输出一个sum(金额)的表,GridView你的截图显示日期、消费类型都有值,显然这个结果不是你贴的SQL的输出。
你单步调试一下,第二次执行查询的时候,DataSet输出的结果集是什么东东?!
  相关解决方案