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. [python][oldboy][函数篇][1]名称空间

    名称空间:存储名字的空间,分为三种,内置空间,全局空间,局部空间 名称可以是:变量名,函数名,类名等 当遇到一个名字时,首先在自己空间找,再到自己外的空间找 比如 test.py print f # ...

  2. Strut 2 ValueStack传送带机制

    源码与jar包下载(将rar改成jar,直接放在WEB_INF\lib目录中即可)    众所周知,Strut 2的Action类通过属性可以获得所有相关的值,如请求参数.Action配置参数.向其他 ...

  3. 实例对比 Julia, R, Python,谁是狼语言?

    对于一个平台来说,使用者对技术本身是不敏感的,所以我们需要增加一些限制来减少集群的一些不可控情况,例如不断的写入新表/新数据却不记得删除,大量不按规范创建的表名等情况.与此同时应尽量让技术对用户透明, ...

  4. imx6 PCIE使能加载ath9k无线网卡

    imx6q配置pcie无线网卡遇到如下问题: imx6q-pcie 1ffc000.pcie: PCI host bridge to bus 0000:00 pci_bus 0000:00: root ...

  5. bzoj2553【beijing2011】禁忌

    题意:http://www.lydsy.com/JudgeOnline/problem.php?id=2553 sol  :puts("nan"); (逃~ ac自动机+矩阵快速幂 ...

  6. String.intern() (jdk1.8)

    1.通过字面量赋值创建字符串 (如:String str=”aaa”)时,会先在常量池中查找是否存在相同的字符串,若存在,则将栈中的引用直接指向该字符串:若不存在,则在常量池中生成一个字符串,再将栈中 ...

  7. docker (centOS 7) 使用笔记5 - weave网络

    weave官网 https://www.weave.works 1. 下载安装 sudo curl -L git.io/weave -o /usr/local/bin/weave sudo chmod ...

  8. Kubectl管理工具

    1.常用指令如下 运行应用程序 [root@manager ~]# kubectl run hello-world --replicas=3 --labels="app=example&qu ...

  9. java课后作业-5

    作业一:请写一个类,在任何时候都可以向它查询“你已经创建了多少个对象?“ 程序源代码; public class Lei { /** * @param args */ public static vo ...

  10. vue的v-for循环普通数组、对象数组、对象、数字

    如下 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8& ...