解决: C# 多个dataTable添加到 dataSet中
解决: C# 多个dataTable添加到 dataSet中
项目中用到 查询多个结果集
此处调用多个sql语句 返回多个dataTable 后进行封装成一个dataSet ,然后返回
先定义 多个dataTable 和一个返回dataSet
DataSet ds = new DataSet();DataTable dt0 = new DataTable();DataTable dt1 = new DataTable();DataTable dt2 = new DataTable();DataTable dt3 = new DataTable();
然后给每个dataTable 起个名字
dt1.TableName = "Table0";dt2.TableName = "Table1";dt3.TableName = "Table2";
最后调用dataTable.Copy方法
ds.Tables.Add(dt1.Copy());ds.Tables.Add(dt2.Copy());ds.Tables.Add(dt3.Copy());
最后返回dataSet
完整代码
/// <summary>/// Hwq 2022年4月18日17:11:40/// 查询 围栏统计详情/// </summary>/// <param name="fSqlConnectString">IOT数据库链接</param>/// <param name="sqlConnectString">AnalysisData数据库链接</param>/// <param name="fAgentGUID">部门fguid</param>/// <param name="fStartTime">开始时间</param>/// <param name="fEndTime">结束时间</param>/// <param name="fSelectType">类型:1:按日查询 2:按月查询 3:按年查询</param>/// <returns></returns>public object SQueryFenceStatisticsDetails(string fSqlConnectString, string sqlConnectString, Guid fAgentGUID, DateTime fStartTime, DateTime fEndTime, int fSelectType){DReport dReport = new DReport();DataSet ds = new DataSet();DataTable dt0 = new DataTable();DataTable dt1 = new DataTable();DataTable dt2 = new DataTable();DataTable dt3 = new DataTable();// 按日查询 直接传值 // 按月查询 开始时间 月初 // 结束时间 月末if (fSelectType == 1){// 按月 // 重新定义时间逻辑.......fStartTime = fStartTime.AddDays(1 - fStartTime.Day); //本月月初fEndTime = fEndTime.AddDays(1 - fEndTime.Day).AddMonths(1).AddDays(-1); //本月月末}// 1.先根据 部门fguid 查询 部门所有车辆 fguid ,拼接一条字符串 用逗号间隔string fVehicleGUIDs = "";dt0 = dReport.DQueryFVehicleGUIDsByFAgentGUID(fSqlConnectString, fAgentGUID);if (dt0 != null && dt0.Rows.Count > 0){foreach (DataRow dr in dt0.Rows){if (string.IsNullOrEmpty(fVehicleGUIDs)){fVehicleGUIDs += dr["FVehicleGUID"].ToString();}else{fVehicleGUIDs += "," + dr["FVehicleGUID"].ToString();}}}else{// 部门下面没有车辆,返回空return ds;}// 2.在 根据车俩fguid 查询 “满洲里/阿拉山口/二连浩特/霍尔果斯” 四个出境关口 次数统计(第一个饼状图)// 3.再 根据车辆fguid 查询 统计所有车辆始发站次数 和 占比 (第二个饼状图)// 4.在 根据车辆fguid 查询 每个围栏停留时长if (dReport.DQueryCountFenceStatusticByFVehicleGUIDs(sqlConnectString, fStartTime, fEndTime, General.Instance.GetStrArray2StrIn(fVehicleGUIDs)) != null){dt1 = dReport.DQueryCountFenceStatusticByFVehicleGUIDs(sqlConnectString, fStartTime, fEndTime, General.Instance.GetStrArray2StrIn(fVehicleGUIDs));}if (dReport.DQueryFStartCityPointByFVehicleGUIDs(sqlConnectString, fStartTime, fEndTime, General.Instance.GetStrArray2StrIn(fVehicleGUIDs)) != null){dt2 = dReport.DQueryFStartCityPointByFVehicleGUIDs(sqlConnectString, fStartTime, fEndTime, General.Instance.GetStrArray2StrIn(fVehicleGUIDs));}if (dReport.DQueryFenceFStopDurationByFVehicleGUIDs(sqlConnectString, fStartTime, fEndTime, General.Instance.GetStrArray2StrIn(fVehicleGUIDs)) != null){dt3 = dReport.DQueryFenceFStopDurationByFVehicleGUIDs(sqlConnectString, fStartTime, fEndTime, General.Instance.GetStrArray2StrIn(fVehicleGUIDs));}// 5.合并dataTable , 返回 dataSet dt1.TableName = "Table0";dt2.TableName = "Table1";dt3.TableName = "Table2";ds.Tables.Add(dt1.Copy());ds.Tables.Add(dt2.Copy());ds.Tables.Add(dt3.Copy());return ds;}
解决: C# 多个dataTable添加到 dataSet中相关推荐
- 合并多个DataTable及将DataTable添加到DataSet的方法
Merge方法是将两个结构相似的datatable合并成一个datatable: // 创建表1 DataTable dt1 = new DataTable(); // 添加数据 dt1.Colum ...
- 解决for循环将字典添加到列表中出现覆盖前面数据的问题
错误代码: 代码如图,我们通过for循环输入了3次不同的用户名和密码,并且添加到 user_list 的列表中,但是最终 user_list 打印了三次相同的数据 # -*- coding: utf- ...
- 解决 | VS 2015右键项目添加新项中没有web窗体等选项
刚装完的VS2015,打开网站之后右键项目添加新项时,没有web窗体,SQL Server数据库等选项,如: 解决方法:工具->扩展和更新: 更新安装ASP.NET 工具(下图两个都装): 更新 ...
- sql 解析字符串添加到临时表中 sql存储过程in 参数输入
sql 解析字符串添加到临时表中 sql存储过程in 参数输入 解决方法 把字符串解析 添加到 临时表中 SELECT * into #临时表 FROM dbo.Func_SplitOneCol ...
- 将勾选数据从dataset中筛选出来
为什么80%的码农都做不了架构师?>>> 方案一: DataSet dsTemp = new DataSet();dsTemp = dsDt.Clone();DataRow[] ...
- 将多个DataTable添加到指定的DataSet中
将多个DataTable添加到指定的DataSet中 如何将多个DataTable添加到指定的DataSet中 事件起因:从数据库中,查询多个dataTable,现在想一下子返回多个table,所以就 ...
- VB.NET学习笔记:操作数据集DataSet中DataTable数据行(DataRow)——新增、插入、复制、克隆
通常我们都知道可以使用OleDbDataAdapter对象的Fill方法从数据源检索数据并填充DataSet 中的DataTable,其实我们也可以人工为DataTable添加DataRow. 一.R ...
- DataTable添加列和行的三种方法
JRoger 原文 #region 方法一: DataTable tblDatas =new DataTable("Datas"); DataColumn dc =null; dc ...
- java同名变量在list中添加两次_快速解决List集合add元素,添加多个对象出现重复的问题...
首先我们在new 一个对象的时候,对象的id是唯一确定的:将对象add入list中时,放入list中的其实是对象的引用 :而每次循环只是简单的set 对象的属性,set新的属性值,而add进list中 ...
最新文章
- 网络安全从事工作分类_那么,您想从事安全工作吗?
- php chilkat.certstore,angularjs实现冒泡排序算法的可视化
- 计算机程序中断方式有几种,奥鹏离线作业计算机组成原理一、简答题1、请说明程序查询方式与中断方式各自的特点.2、提高存储器速度可采用哪些措施,请说出...
- 两个byte[]拼接
- linux setsockopt函数
- Docker的一些理解(二)
- 呵呵,幸亏当初选了这个BLOG
- tengine php环境,CentOS 7搭建tengine+php+mariadb环境并安装discuz论坛
- java query dsl_java – QueryDsl – 具有字符串值的case表达式
- (最通俗易懂的)目标跟踪MOSSE、KCF
- 主板电源开关接口图解_全程图解:手把手教你主板各种插针接口与机箱(电源)的接法...
- E430 加装固态硬盘(SSD)参考
- 计算机网络为何使用分组交换,而不是电路交换
- 《东周列国志》第四十四回 叔詹据鼎抗晋侯 弦高假命犒秦军
- 为什么互联网需要采用去中心化结构?
- U²-Net:使用显著性物体检测来生成真实的铅笔肖像画
- C++基本功和 Design Pattern系列 Operator 下
- Spoon系列-概要
- 尚硅谷Nginx新版升级教程,带你轻松掌握高并发系统架构
- Leetcode解题(第974题)
热门文章
- 怎样在发信服务器上查网易邮件,网易企业邮箱:你知道如何查看网易企业邮箱邮件吗?...
- Windows SharePoint Services 中文网站模板
- 即时消费、无接触配送、商品溯源......被按暂停的“零售行业“,正被疫情再次重启...
- 现在你们叫我大佬,其实我在大学就是渣渣
- 内容正文选中一段文字分享到qq微博、新浪微博的代码
- 一文教会你Elasticsearch的更新操作(Updata与Updata by Query)
- Oracle-Oracle数据库的安装
- 记忆中最早的一部爱情电视剧《情魔》
- 无人机倾斜摄影测量技术应用于城市三维建模
- Linux安装Maven、POM及配置文件详解