C#创建DataTable的几种方式

第一种方式:直接添加数据对象

            DataTable table = new DataTable();
table.Columns.Add("strName", Type.GetType("System.String"));
table.Columns.Add("strSex", Type.GetType("System.String"));
table.Columns.Add("strEmail", Type.GetType("System.String")); table.Rows.Add(new object[] { "Tom", "男", "Tom@atguigu.com" });
table.Rows.Add(new object[] { "Lucy", "女", "Lucy@atguigu.com" });
table.Rows.Add(new object[] { "Jack", "男", "Jack@atguigu.com" });

第二种方式:用DataColumn无参构造方法创建列,然后New每行列的数据 

        DataTable table = new DataTable();

            DataColumn strNameColumn = new DataColumn();//创建table的第一列
strNameColumn.DataType = System.Type.GetType("System.String");//该列的数据类型
strNameColumn.ColumnName = "strName";//该列得名称 DataColumn strSexColumn = new DataColumn();
strSexColumn.DataType = System.Type.GetType("System.String");
strSexColumn.ColumnName = "strSex"; DataColumn strEmailColumn = new DataColumn();
strEmailColumn.DataType = System.Type.GetType("System.String");
strEmailColumn.ColumnName = "strEmail"; // 将所有的列添加到table上
table.Columns.Add(strNameColumn);
table.Columns.Add(strSexColumn);
table.Columns.Add(strEmailColumn); //添加数据
DataRow rowData = table.NewRow();
rowData["strName"] = "Tom";
rowData["strSex"] = "男";
rowData["strEmail"] = "Tom@atguigu.com";
table.Rows.Add(rowData); rowData = table.NewRow();
rowData["strName"] = "Lucy";
rowData["strSex"] = "女";
rowData["strEmail"] = "Lucy@atguigu.com";
table.Rows.Add(rowData); rowData = table.NewRow();
rowData["strName"] = "Jack";
rowData["strSex"] = "男";
rowData["strEmail"] = "Jack@atguigu.com";
table.Rows.Add(rowData);

第三种方式:用DataColumn有参构造方法创建列

            DataTable dt = new DataTable();
DataColumn dc1 = new DataColumn("strName", Type.GetType("System.String"));
DataColumn dc2 = new DataColumn("strSex", Type.GetType("System.String"));
DataColumn dc3 = new DataColumn("strEmail", Type.GetType("System.String"));
dt.Columns.Add(dc1);
dt.Columns.Add(dc2);
dt.Columns.Add(dc3);
//添加三条数据     DataRow row = dt.NewRow();
row["strName"] = "Tom";
row["strSex"] = "男";
row["strEmail"] = "Tom@atguigu.com";
dt.Rows.Add(row); row = dt.NewRow();
row["strName"] = "Lucy";
row["strSex"] = "女";
row["strEmail"] = "Lucy@atguigu.com";
dt.Rows.Add(row); row = dt.NewRow();
row["strName"] = "Jack";
row["strSex"] = "男";
row["strEmail"] = "Jack@atguigu.com";
dt.Rows.Add(row);

C#数据之DataTable的更多相关文章

  1. C#调用NPOI组件读取excel表格数据转为datatable写入word表格中并向word中插入图片/文字/书签 获得书签列表

    调用word的com组件将400条数据导入word表格中耗时10分钟简直不能忍受,使用NPOI组件耗时4秒钟.但是NPOI中替换书签内容的功能不知道是不支持还是没找到. 辅助类 Excel表格数据与D ...

  2. WCF分布式开发步步为赢(8):使用数据集(DataSet)、数据表(DataTable)、集合(Collection)传递数据

    数据集(DataSet).数据表(DataTable).集合(Collection)概念是.NET FrameWork里提供数据类型,在应用程序编程过程中会经常使用其来作为数据的载体,属于ADO.NE ...

  3. 批量插入数据, 将DataTable里的数据批量写入数据库的方法

    大量数据导入操作, 也就是直接将DataTable里的内容写入到数据库 通用方法: 拼接Insert语句, 好土鳖 1. MS Sql Server:   使用SqlBulkCopy 2. MySql ...

  4. 【数据传输 2】批量导入的前奏:将Excel表中的数据转换为DataTable类型

    导读:我们知道,在数据库中,数据集DataSet是由多张DataTable表组成.所以,如果我们需要将数据从外部导入到数据库中,那么要做的很重要的一步是将这些数据转换为数据库可以接受的结构.今天在用S ...

  5. 读取Excel数据到DataTable

    读取Excel数据到DataTable 代码 /// <summary> /// 获取指定路径.指定工作簿名称的Excel数据:取第一个sheet的数据 /// </summary& ...

  6. jsf初学数据表(DataTable)的绑定

    来看看简单的datatable例子: faces: <h:form> <h:dataTable value="#{tableData.names}" var=&q ...

  7. C#读取excel数据到datatable中

    DataTable dtGBPatient = new DataTable(); string strConn;string excelName; //注意:把一个excel文件看做一个数据库,一个s ...

  8. 使用Newtonsoft JsonConvert反序列化Json数据到DataTable

    //JsonStr为Json字符串 JArray array = JsonConvert.DeserializeObject(JsonStr) as JArray;//反序列化为数组 ) { Stri ...

  9. 使用NPOI读取Excel数据到DataTable

    如今XML文件的存储格式大行其道,可是也不是适用于全部情况,非常多单位的数据交换还是使用Excel的形式.这就使得我们须要读取Excel内的数据.载入到程序中进行处理.可是如何有效率的读取,如何使程序 ...

随机推荐

  1. maven学习(一)——maven的下载与安装

    一.Maven的基本概念 Maven(翻译为"专家","内行")是跨平台的项目管理工具.主要服务于基于Java平台的项目构建,依赖管理和项目信息管理. 1.1. ...

  2. 如何获取JavaCard剩余空间

    0x01应用场景 获取JavaCard卡内剩余空间,一方面是在评估一张卡的时候需要用到,另一方面是在应用个人化或者运行时需要用到. 例如:应用提供商为了保证自己的应用在卡内运行期间能够不受空间影响,一 ...

  3. 异常为"当IDENTITY_INSERT设置为OFF时" 解决办法

    当 IDENTITY_INSERT 设置为 OFF 时,不能向表"A" 中的标识列插入显示值. 一般来说是自增ID造成的. 因此可以在数据库insert语句前加上 SET iden ...

  4. wewe

    <#assign base=rc.contextPath /> <#import "spring.ftl" as s /> <!DOCTYPE htm ...

  5. 旅行商(sale)

    旅行商(sale) 题目描述 camp国有n座城市,由1,2,-,n编号.城市由n–1条双向道路相连.任意两个城市之间存在唯一的道路连通.有m个旅行商,第i个旅行商会从城市ai旅行到城市bi,贩卖ci ...

  6. [BZOJ]5018: [Snoi2017]英雄联盟 DP

    [Snoi2017]英雄联盟 Time Limit: 15 Sec  Memory Limit: 512 MBSubmit: 270  Solved: 139[Submit][Status][Disc ...

  7. 【bzoj3585】mex 线段树 mex,sg

    Description 有一个长度为n的数组{a1,a2,…,an}.m次询问,每次询问一个区间内最小没有出现过的自然数. Input 第一行n,m. 第二行为n个数. 从第三行开始,每行一个询问l, ...

  8. 【09】react 之 表单组件

    不太清楚有多少初学React的同学和博主当时一样,在看完React的生命周期.数据流之后觉得已经上手了,甩开文档啪啪啪的开始敲了起来.结果...居然被一个input标签给教做人了. 故事是这样的:首先 ...

  9. pat 甲级 L3-002. 堆栈

    L3-002. 堆栈 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 大家都知道“堆栈”是一种“先进后出”的线性结构,基本操作有 ...

  10. POJ1692 Crossed Matchings

    Time Limit: 1000MS     Memory Limit: 10000K Total Submissions: 2738   Accepted: 1777 Description The ...