DataTable数据类型的一些操作 增加行、插入行、修改数据、修改列名、修改列顺序、计算、选取或删除行(列)、排序、某列distinct值 等
Datatable 这个数据类型在C#中涉及到对数据库读取时的用处还是挺大的,最近在处理一个报表开发时,一开始把所有的操作都放在sql 上面来做,就是我需要什么样的数据我就query出什么,但是这样其实是很不方便的,后来发现Datatable的功能其实是很强大的,能够对数据进行一些处理,因此将所遇到的记录下来。
1.增加行、插入行
DataTable dtEnterprise = new DataTable();
DataRow dr = dtEnterprise.NewRow();
dr["CATEGORY"] = "合计";
dr["MAIN"] = "";
dtEnterprise.Rows.Add(dr);//加在最后一行
dtEnterprise.Rows.InsertAt(dr, i);//加在第i行
2.修改数据
DataTable dtEnterprise = new DataTable();
DataRow replace = dtEnterprise.Rows[i];
replace.BeginEdit();
replace["CATEGORY"] = "";
replace["MAIN"] = "";
replace.EndEdit();
3.修改列名
DataTable dtEnterprise = new DataTable();
dtEnterprise.Columns["CATEGORY"].ColumnName = "分类";
dtEnterprise.Columns["MAIN"].ColumnName = "主要";
//取列名
string name=dtEnterprise.Columns[i].ColumnName;
4.修改列顺序
DataTable dtEnterprise = new DataTable();
dtEnterprise.Columns["CATERGORY"].SetOrdinal();
dtEnterprise.Columns["MAIN"].SetOrdinal();
5.计算(简单的记录下遇到的求和其余后续再了解)
DataTable dtEnterprise = new DataTable();
int Sum_count = int.Parse(dtEnterprise.Compute("sum(count)", "true").ToString());
int Sum_death = int.Parse(dtEnterprise.Compute("sum(death)", "true").ToString());
6.删除行(似乎还有delete方法后续补充)
DataTable dtEnterprise = new DataTable();
dtEnterprise.Rows.RemoveAt(i);
7.选取行()
DataTable dtEnterprise = new DataTable();
DataView davTemp = new DataView(dtEnterprise, "过滤条件", "排序字段", DataViewRowState.状态);
//把过滤后的表赋给新表
DataTable datNew = davTemp.ToTable();
8.选取列()
DataTable dtEnterprise = new DataTable();
DataTable datNew = dtEnterprise.DefaultView.ToTable(false, new string[] { "列名", "列名"});
9.排序()
https://blog.csdn.net/zhensoft163/article/details/5692572
10.某列distinct值
DataView dtv = dt_com.DefaultView;
var group_1 = dtv.ToTable(true, "name");
DataTable数据类型的一些操作 增加行、插入行、修改数据、修改列名、修改列顺序、计算、选取或删除行(列)、排序、某列distinct值 等的更多相关文章
- Elasticsearch2.4.6版本 在linux 命令行 对数据的增删改操作
一._cluster系列:查询设置集群状态 1.设置集群状态 curl -XGET 10.68.120.167:9204/_cluster/health?pretty=true pretty=true ...
- oracle 向数据库同时插入多条数据
oracle 与 mysql 不同. mysql 可以直接插入多条数据的操作: 采用 INSERT INTO 某表 VALUES(各个值),VALUES(各个值),.....; 或者 INSERT ...
- FineReport——插入行策略
1.空值是默认的选项,即每次插入新行时,格子都是空白的. 2.原值即单元格中原有内容是什么,就复制到新增的格子中,一般适用于单元格是使用公式定义的, 在插入单元格时,公式会保留下来. 3.默认值即通过 ...
- 【oracle笔记1】基础知识大集锦:增删改,数据类型,用户操作,持续更新中···
什么是数据库?数据库就是用来存储和管理数据的仓库.首先我来简单介绍一下各数据库的背景,常见的数据库如下,oracle:甲骨文公司(市场占用率最高),oracle也是一个公司名,翻译过来就是甲骨文的意思 ...
- C# datatable增加行(datarow)数据为另一个datatable中某行
两个表A和B,两表结构相同.现在需要将A表中部分行拷贝到B表中,直接用 DataTableB.rows.add(dataTableA.rows[0]) 这样的方法式会报"row已经属于A表& ...
- poi读取Excel模板并修改模板内容与动态的增加行
有时候我们可能遇到相当复杂的excel,比如表头的合并等操作,一种简单的方式就是直接代码合并(浪费时间),另一种就是写好模板,动态的向模板中增加行和修改指定单元格数据. 1.一个简单的根据模板shee ...
- Redis系列(二):Redis的数据类型及命令操作
原文链接(转载请注明出处):Redis系列(二):Redis的数据类型及命令操作 Redis 中常用命令 Redis 官方的文档是英文版的,当然网上也有大量的中文翻译版,例如:Redis 命令参考.这 ...
- redis数据类型及订阅操作
Redis数据类型详解 Redis键/值介绍 Redis key值是二进制安全的,这意味着可以用任何二进制序列作为key值,从形如“foo”的简单字符串到一个JPG文件的内容都可以.空字符串也是有效k ...
- MySQL数据库笔记二:数据类型及数据库操作
三.MySQL数据库数据类型 MySQL数据库中支持多种数据类型:数值型.字符型.日期型 常用的数据类型: 1.整型 int:整形,存储整数 int(M):M表示预期值.与存储大小和数值的范围无关. ...
随机推荐
- JMeter配置JDBC测试SQL Server/MySQL/ORACLE
一.配置SQL Server 1.下载sql驱动,将sqljdbc4.jar放到JMeter安装目录/lib下. 2.启动JMeter,右键添加->配置文件->JDBC Connectio ...
- reactor---元数据驱动的表单
class NameForm extends React.Component { constructor(props) { super(props); this.state = { ...
- redis队列与RabbitMQ队列区别
消息队列(Message Queue)是一种应用间的通信方式,消息发送后可以立即返回,由消息系统来确保消息的可靠传递.消息发布者只管把消息发布到 MQ 中而不用管谁来取,消息使用者只管从 MQ 中取消 ...
- 本地虚拟机搭建ES集群
一.环境说明 1.物理机信息(主要): 内存:8G 系统/主频:Win7(旗舰版)64位/3.70GHZ 2.虚拟机信息: VMware Workstation 14 Pro 下载地址: 链接:htt ...
- 将varchar2类型字段改成clob类型
--增加临时新字段alter table base_temp add temp clob; --将需要改成大字段的项内容copy到大字段中update base_temp set temp=con ...
- Tomcat能启动,无法访问方法,
好像没有扫描到controller 好像配置文件都没有加载成功 项目启动后,目录下多出一个ssmtest.xml文件 D:\Program Files\JDK-tomcat\apache-tomcat ...
- 腾讯2019秋招--小q爬塔(dp)
小Q爬塔 题目描述: 小Q 正在攀登一座宝塔,这些宝塔很特别.塔总共有 n 层,但是每两层之间的净高却不相同,所以造成了小Q 爬过每层的时间也不同.如果某一层的高度为 x,那么爬过这一层所需的时间也是 ...
- php 实现店铺装修1
一.原型分析 1.店铺未装修的情况下,使用默认样式,哪个是默认样式由后台告知: 2.所有的样式由后台进行维护(但后台始终有一个默认样式,不可删除不可编辑),所有样式,只要用户未编辑过,则默认按照商品的 ...
- Java FTPClient 大量数据传输的问题(未解决)
业务需要 需要将一个存储的目标文件里的文件全部拷贝到另一个存储里面去,保持文件结构. 目前采用 org.apache.commons.net.ftp包下相关类来达到ftp连接 获取文件目录信息,拷贝文 ...
- 循环调用spring的dao,数个过后无响应
循环调用spring的dao,数个过后无响应 博客分类: spring daospringssh 最近遇到这么一个问题:前台按钮发送AJax请求到后台,后台是SSH框架.每点击一下按钮就发送 ...