简单讲解一下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. MySQL在Linux系统环境的安装和无主机登录配置

           将mysql 安装在单个Linux系统主机,并配置本地或远程(此处可仅单指局域状态下的环境)的无主机登录.谨记的是:操作完mysql 设置时,需以flush privileges进行权限 ...

  2. SSH Config 管理多主机

    使用 一般我们使用ssh连接远程主机的时候,使用命令是: ssh root@ip ssh –i [identity-file] -p [port] user@hostname 但是如果ip地址过多,其 ...

  3. TypeScript中使用getElementXXX()

    如果只是看解决方法,可以直接跳到第二小节 简述 Angular 1.x版本是用JavaScript编写的,我们在百度Angular经常会搜索到AngularJS,并不是JavaScript的什么衍生版 ...

  4. 对于java的Sting.intern()的一些注意

    今天翻看书时遇到了这样一个问题,对于String.intern()方法又有了一些认识和看法.首先我们看它的api 大意就是intern()方法会在常量池中记录首次出现的实例引用,但是在jdk1.6中却 ...

  5. java List转换和数组互转

    1.List转Array ArrayList<String> list=new ArrayList<String>(); String[] strings = new Stri ...

  6. maven 打包构建相关命令

    1.命令 mvn clean package 依次执行clean.resources.compile.testResources.testCompile.test.jar(打包)等7个阶段. mvn ...

  7. Flask框架踩坑之ajax跨域请求

    业务场景: 前后端分离需要对接数据接口. 接口测试是在postman做的,今天才开始和前端对接,由于这是我第一次做后端接口开发(第一次嘛,问题比较多)所以在此记录分享我的踩坑之旅,以便能更好的理解,应 ...

  8. Windows Terminal 安装及美化

    windows terminal 是今年微软Build大会上推出的一款的全新终端,用来代替cmder之类的第三方终端.具有亚克力透明.多标签.Unicode支持(中文,Emoji).自带等宽字体等这些 ...

  9. java基础之泛型对象与json互转

    1. 场景描述 把泛型对象转成字符串放到缓存中,获取后使用有点问题,记录下,有碰到的朋友,参考下. 2. 解决方案 2.1 操作类及说明 /** * @auther: 软件老王 */ public s ...

  10. Linux下的软件管理

    一.软件包管理简介     1源码包(脚本安装)        ①.特点: a.开源 ,可以修改                        b.自由选择所需功能                   ...