DataSet之将连个DataSet集合合并成一个DataSet集合

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;

namespace qqIsonline
{
    public partial class index1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if(!IsPostBack){
                GridView1.DataSource = GetQQinfo();
                GridView1.DataBind();
                GridView2.DataSource = GetorderInfo();
                GridView2.DataBind();
                GridView3.DataSource = GetDataByCount();
                GridView3.DataBind();
            }

        }
        string sqlConnStr = ConfigurationManager.ConnectionStrings["myDB"].ToString();

        //获得QQ信息
        public DataSet GetQQinfo()
        {
           using(SqlConnection sqlConn = new SqlConnection(sqlConnStr)){
               string sqlStr = "select * from qqinfo";
               SqlDataAdapter sda = new SqlDataAdapter(sqlStr,sqlConn);
               DataSet ds = new DataSet();
               sda.Fill(ds);
               return ds;
           }
        }

        //获得订单中每个扣扣号出现的总数
        public DataSet GetorderInfo()
        {
            using (SqlConnection sqlConn = new SqlConnection(sqlConnStr))
            {
                string sqlStr = "select COUNT(orderinfo.Id) as num,QQ from orderinfo group by QQ order by num Desc";
                SqlDataAdapter sda = new SqlDataAdapter(sqlStr, sqlConn);
                DataSet ds = new DataSet();
                sda.Fill(ds);
                return ds;
            }
        }

        /// <summary>
        /// 将两个DataSet中的数据整合
        /// 将每个客服对应的订单量追加到DataTable后面
        /// </summary>
        /// <returns>一个新的集合</returns>
        public DataTable GetDataByCount()
        {
            DataSet dtordet = GetorderInfo();     //每个客服订单量汇总的集合
            DataSet dtqq = GetQQinfo();           //客服数据集合
            dtqq.Tables[0].Columns.Add("colunm", typeof(string));    //给客服集合新增一列
            for (int i = 0; i < dtordet.Tables[0].Rows.Count; i++)   //遍历每个客服订单量汇总的集合
            {
                string qq = dtordet.Tables[0].Rows[i]["QQ"].ToString();   //获得该行的QQ号
                DataRow[] dr = dtqq.Tables[0].Select("QQ=" + qq);         //客服数据集合中是否包含有这个ID
                if (dr.Length.Equals(1))   //包含
                {
                    int k = dtqq.Tables[0].Rows.IndexOf(dr[0]);        //记录下该行数据的行号!
                    string num = dtordet.Tables[0].Rows[k]["num"].ToString();   //获得改行数据对应的订单数
                    dtqq.Tables[0].Rows[i]["colunm"] = num;   //添加列数据
                }
            }
            DataView dv = dtqq.Tables[0].DefaultView;
            dv.Sort="colunm DESC";   //对数据根据订单量进行降序排序
            return dv.ToTable();
        }
    }
}

结果如下所示:

时间: 2024-10-07 02:32:41

DataSet之将连个DataSet集合合并成一个DataSet集合的相关文章

【转载】多个集合合并成没有交集的集合-实现

原博文地址http://www.cnblogs.com/ttltry-air/archive/2012/08/14/2638437.html 1.问题描述 将多个集合合并成没有交集的集合. 给定一个字符串的集合,格式如:{aaa bbb ccc}, {bbb ddd},{eee fff},{ggg},{ddd hhh}要求将其中交集不为空的集合合并,要求合并完成后的集合之间无交集,例如上例应输出{aaa bbb ccc ddd hhh},{eee fff}, {ggg}. (1)请描述你解决这个

多个集合合并成没有交集的集合

问题描述                                                                                      将多个集合合并成没有交集的集合. 给定一个字符串的集合,格式如:{aaa bbb ccc}, {bbb ddd},{eee fff},{ggg},{ddd hhh}要求将其中交集不为空的集合合并,要求合并完成后的集合之间无交集,例如上例应输出{aaa bbb ccc ddd hhh},{eee fff}, {ggg}.

多个UIImage合并成一个UIImage

多个UIImage合并成一个UIImage 创建两个UIImage UIImage *image1 = [UIImage imageNamed:@"iOSDevTip"]; UIImage *image2 = [UIImage imageNamed:@"CodePush"]; 创建UIImage的方法有很多种,我们就简单的通过imageNamed:方法来创建. 合并之后的size CGSize size = CGSizeMake(image1.size.width

C#程序(含多个Dll)合并成一个Exe

把C#程序(含多个Dll)合并成一个Exe的超简单方法 开发程序的时候经常会引用一些第三方的DLL,然后编译生成的exe文件就不能脱离这些DLL独立运行了. 但是,很多时候我们本想开发一款只需要一个exe就能完美运行的小工具.那该怎么办呢? 下文介绍一种超简单的方法,不用写一行代码就可轻松实现. 这里我们需要用到一款名为Fody.Costura的工具.Fody.Costura是一个Fody框架下的插件,可通过Nuget安装到VS工程中.安装之后,就可以将项目所依赖的DLL(甚至PDB)文件全部打

把C#程序(含多个Dll)合并成一个Exe的超简单方法

原文:把C#程序(含多个Dll)合并成一个Exe的超简单方法 开发程序的时候经常会引用一些第三方的DLL,然后编译生成的exe文件就不能脱离这些DLL独立运行了. 但是,很多时候我们本想开发一款只需要一个exe就能完美运行的小工具.那该怎么办呢? 下文介绍一种超简单的方法,不用写一行代码就可轻松实现. 这里我们需要用到一款名为Costura.Fody的工具.Costura.Fody是一个Fody框架下的插件,可通过Nuget安装到VS工程中.安装之后,就可以将项目所依赖的DLL(甚至PDB)文件

Clojure:将两个list合并成一个map

假设我们有两个list,分别是: (def a [“one” “two” “three”]) (def b [1 2 3]) 我们要把它们合为一个键值对应的map,做法很简单: 1. 先将a和b合为一个一一对应的list: (map vector a b) => (["one" 1] ["two" 2] ["three" 3]) 2. 然后再将list转化成为map: (into {} (map vector a b)) => {&q

怎么把100多个EXCEL文件合并成一个

新建一个工作表,命名后保存到和与合并的100个文件同一个文件文件夹,摁 alt + f11,双击工程资源管理器里面的sheet1(sheet1),在右侧的代码区粘贴如下代码.运行.等候一会就OK了. Sub 合并当前目录下所有工作簿的全部工作表() Dim MyPath, MyName, AWbName Dim Wb As Workbook, WbN As String Dim G As Long Dim Num As Long Dim BOX As String Application.Scr

对N个数组进行操作。先把这N个一维数组合并成一个2为数组;然后进行操作

using System;using System.Collections.Generic;using System.Linq;using System.Collections;using System.Text;using System.Diagnostics; namespace Hecha.Test{ class Program { static void Main(string[] args) { List<string>[] aa = new List<string>[5

C# 实现将多个word文档合并成一个word文档的功能

前段时间项目上遇到这么一个需求,需要将多个OCR识别的word文档合并成一个,于是就在网上找了找,自己修改了一下.在这里跟大家分享一下,希望有用的到的. 要做多word文档合并,首先要导入Microsoft.Office.Interop.Word这个dll.我觉得很多人会在这个问题上纠结很久,因为找不到这个dll,当然我也这里找了很久才找到,最终我的解决办法是这样的.如果在VS的引用下的COM组件中找不到这个dll,那么,你就在你的电脑上查找这个文件,如果找到了,你可以直接把它复制到你项目中,然