简单讲解一下dataset和datatable,以excel对比,dataset相当于一个excel文件,datatable相当于excel的一张表格。datatable可以单独应用,dataset里面可以含有多张datatable。

下面讲一下datatable的用法:

1、定义datatable

            // 定义datable
DataTable dt = new DataTable();

2、定义列(columns),定义列采用add方法,此方法有三个重载,即可以三种方式添加列。这里只说两种。可根据需要查看重载函数,确定那种方法

            //方法1,直接添加
dt.Columns.Add("name", typeof(string));

表示添加了一列,此列的表头是name,string类型。第二种添加方法为:先用datacolumn定义column,然后直接添加column

            //方法2,先定义一个列,后添加,可看add的重载函数,此方法还可以添加默认值
DataColumn dc = new DataColumn("age", typeof(int));
dt.Columns.Add(dc);
DataColumn dcc = new DataColumn("sex", typeof(string));
dcc.DefaultValue = "male";//设定初始值

3、定义行(rows),定义行采用add方法,此方法有两个重载,与列类似,可以直接add也可以先定义datarow,然后添加

  //方法1,直接添加,但是行必须与之前定义的列相对应,本例中行有两个列
dt.Rows.Add("LL", );
//方法2,先定义row,再添加
DataRow dr = dt.NewRow();
dr["name"] = "DD";
dr["age"] = ;
dt.Rows.Add(dr);

添加的行里面的参数要与columns对应。

4、datatable数据获取

通过dt.rows[i]获取到i行,然后通过dt.rows[i][j]获取到j列数据,也可以通过dt.rows[i][“name”]进行获取

            //方法1,通过for循环进行遍历,然后进行判断是否需要
for (int i=;i<dt.Rows.Count;i++)
{
for(int j=;j<dt.Columns.Count;j++)
{
Console.Write(dt.Rows[i][j]);
Console.Write(" ");
}
Console.WriteLine();
}

数据也可以通过select方法进行筛选。

 DataRow[] rowArr = dt.Select("name='LL'");

以上为datatable最基础的用法,可以查看其定义中的相关方法等。

下面说一下dataset

定义完dataset以后,只要用dataset.tables.add方法给dataset添加datatable即可。

            DataSet ds = new DataSet("myDS");//两个重载,myDS为名称,默认为NewDataSet
DataTable table1 = ds.Tables.Add("table1");//添加一个表table1
table1.Columns.Add("name");//之后数据添加与一般table一样

datatable dataset的更多相关文章

  1. DateTable与List<T>相互转换 及JSON与DataTable(DataSet)相互转化

    http://www.360doc.com/content/13/0712/09/10504424_299336674.shtml Linq处理List数据 http://blog.163.com/l ...

  2. Newtonsoft.Json高级用法DataContractJsonSerializer,JavaScriptSerializer 和 Json.NET即Newtonsoft.Json datatable,dataset,modle,序列化

    原文地址:https://www.cnblogs.com/yanweidie/p/4605212.html Newtonsoft.Json介绍 在做开发的时候,很多数据交换都是以json格式传输的.而 ...

  3. Newtonsoft.Json高级用法,json序列号,model反序列化,支持序列化和反序列化DataTable,DataSet,Entity Framework和Entity,字符串

    原文地址:https://www.cnblogs.com/yanweidie/p/4605212.html 手机端应用讲究速度快,体验好.刚好手头上的一个项目服务端接口有性能问题,需要进行优化.在接口 ...

  4. IBatis.Net使用总结(二)-- IBatis返回DataTable/DataSet(网上例子的集合)

    IBatis返回DataTable,DataSet ibatis.net QueryForDataTable 完整的为ibatis.net 引入datatable支持要改动很多地方,所以描述的是最小化 ...

  5. Datatable/Dataset 转 JSON方法

    当数据库表的数据在一般处理程序中查出来需要将这个表数据返回到前台的jquery中,需要将数据拼成json字符串形式,这里是将数据库数据查出放在Datatable中,然后在一般处理程序中将datatab ...

  6. dataTable/dataSet转换成Json格式

    using System.Text;using System.Collections.Generic; 1)dataTable转Json(表格有名称:dt.TableName) public stat ...

  7. 将Xml字符串转换成(DataTable || DataSet || XML)对象

    今天用到一个功能:就是把从数据库读出来的内容转换成XML字符串流格式,并输出给一个功能函数.在写的过程,为方便以后的使用,我对这一功能进行分装.该类的具体格式如下:XmlConvert类命名空间:Ni ...

  8. C#DataTable DataSet DataRow区别详解

    DataSet 是C#中用来存储数据库数据的.其实,它的作用是在内存中模拟数据库.我们现实生活中的数据库从大到小的基本结构类似于:数据库实例,表,列,行.在C#语言中,我们在内存中也模拟出了一个这样的 ...

  9. C#高效导出Excel(IList转DataTable,DataSet)

    微软的Excel操作类导出Excel会很慢,此方法简单的把表中内容以字符串的形式写入到Excel中,用到的一个技巧就是"\t". C#中的\t相当于Tab键,写入到Excel中时就 ...

  10. (转)DATATABLE(DATASET)与实体类之间的互转.

    转自:http://www.cnblogs.com/zzyyll2/archive/2010/07/20/1781649.html dataset和实体类 之间的转换 //dataset转实体类  代 ...

随机推荐

  1. java-ztest测试报告的搭建,python-BeautifulReport

    今天用testng的时候感觉测试报告贼丑又慢,以下图片是对比.了解到ztest,搭建的时候发现网上没有教程,对java真是太不友好了,所以步骤记录下吧.有疑问的可进群:231733032 使用ztes ...

  2. FreeSql 导航属性的联级保存功能

    写在前面 FreeSql 一个款 .net 平台下支持 .net framework 4.5+..net core 2.1+ 的开源 ORM.单元测试超过3100+,正在不断吸引新的开发者,生命不息开 ...

  3. 死磕 java同步系列之Phaser源码解析

    问题 (1)Phaser是什么? (2)Phaser具有哪些特性? (3)Phaser相对于CyclicBarrier和CountDownLatch的优势? 简介 Phaser,翻译为阶段,它适用于这 ...

  4. Spring boot 梳理 - @Conditional

    @Conditional(TestCondition.class) 这句代码可以标注在类上面,表示该类下面的所有@Bean都会启用配置,也可以标注在方法上面,只是对该方法启用配置. spring框架还 ...

  5. linux 安装docker

    1.安装环境 此处在Centos7进行安装,可以使用以下命令查看CentOS版本 lsb_release -a 在 CentOS 7安装docker要求系统为64位.系统内核版本为 3.10 以上,可 ...

  6. 动态set mybatis与ibatis的写法

    mybatis: <set> <if test="obj.buyerId != null"> buyerId = #{obj.buyerId}, </ ...

  7. 深入集合类系列——HashMap和HashTable的区别

    含义:HashMap是基于哈希表的Map接口的非同步实现.允许使用null值和null键.此类不保证映射的顺序,特别是它不保证该顺序恒久不变. 数据结构:HashMap实际上是一个“链表散列”的数据结 ...

  8. Oracle 存储过程判断语句正确写法和时间查询方法

    判断语句:if 条件 then   if  条件  then ************;   elsif  条件  then  ************;   elsif 条件  then ***** ...

  9. win7远程连接全屏和窗口模式切换

    最近开发需要win7远程连接,我知道在连接的时候可以设置全屏模式 但是进去之后想要切换就只能通过快捷键了上网查了一下是ctrl+alt+break.网上说的没有错.我查官方文档也是这样.但是我按的时候 ...

  10. MongoDB 学习笔记之 地理空间索引入门

    地理空间索引: 地理空间索引,可用于处理基于地理位置的查询. Point:用于指定所在的具体位置,我们以restaurants为例: db.restaurants.insert({name: &quo ...