简单讲解一下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. c#学习路线应该靠谱

    因为学c/c++,找不到工作.想转c#,搜索得到的学习路线 C#入门经典 C#数据库入门经典 C#高级编程 ADO.net高级编程 基础的东西搞明白之后,可以学习设计模式,C#设计模式 你是说深入的书 ...

  2. mybatis 常用的jabcType与javaType对应

    一.jabcType与javaType对应   JDBC Type            Java Type CHAR                 String VARCHAR           ...

  3. springboot 使用i18n进行国际化

    1.i18n介绍 i18n(其来源是英文单词 internationalization的首末字符i和n,18为中间的字符数)是“国际化”的简称.在资讯领域,国际化(i18n)指让产品(出版物,软件,硬 ...

  4. SSM相关知识

    1.SpringMVC的工作流程? 1. 用户发送请求至前端控制器DispatcherServlet 2. DispatcherServlet收到请求调用HandlerMapping处理器映射器. 3 ...

  5. mysql操作遇到的坑(第一版)

    1.当我们要统计数据表数量时,如果遇到多表查询,会出现一个主表对应多个子表的维度,我们会用到group by,但是不要再用统计函数去操作数据,因为统计还是会统计原数据 案例 SELECT sum(`o ...

  6. Android之各个版本之间的变化

    (1)android5.0 Android5.0之后隐式打开服务需要指明包名 (2)android6.0 Android6.0之后涉及隐私的权限必须动态申请 (3)android8.0 android ...

  7. zui框架配置日期控件只显示年月

    zui框架配置日期控件datetimepicker只显示年月 <!DOCTYPE html> <head> <script src="~/Scripts/jqu ...

  8. Chrome 浏览器默认样式覆盖自己 CSS 样式的解决

    检查 HTML 源代码,DOCTYPE 的声明是否写正确. HTML5 的 DOCTYPE 声明规范: <!DOCTYPE html> 参考链接: css - User agent sty ...

  9. Flutter中TabBarView切换状态保存

    TabBarView 类似于Android中的viewPager,但是默认是没有实现切换分页状态保存的.估计是出于节约内存的原因吧. 发现这个问题的时候,搜索了一下全网.大致就两种解决方案,1是修改源 ...

  10. mac系统Intellij Idea的java环境配置:JDK + Tomcat + Maven

    一.JAVA JDK查看与配置 1.查看java路径详细信息: /usr/libexec/java_home -V 2.java默认路径 jdk1.6: /System/Library/Java/Ja ...