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. 贪吃蛇—C—基于easyx图形库(下):从画图程序到贪吃蛇【自带穿墙术】

    上节我们用方向控制函数写了个小画图程序,它虽然简单好玩,但我们不应该止步于此.革命尚未成功,同志还需努力. 开始撸代码之前,我们先理清一下思路.和前面画图程序不同,贪吃蛇可以有很多节,可以用一个足够大 ...

  2. maven学习(十一)——maven中的聚合与继承

    一.聚合 如果我们想一次构建多个项目模块,那我们就需要对多个项目模块进行聚合 1.1.聚合配置代码 <modules> <module>模块一</module> & ...

  3. 软工实践 - 第十次作业 Alpha 冲刺 (2 / 10)

    队名:起床一起肝活队 组长博客:https://www.cnblogs.com/dawnduck/p/9960710.html 作业博客:班级博客本次作业的链接 组员情况 组员1(队长):白晨曦 过去 ...

  4. [luogu1357] 花园 [dp+矩阵快速幂]

    题面: 传送门 思路: 把P形花圃记录为0,C形记录为1,那么一段花圃就可以状态压缩成一个整数 那么,我们可以有这样的状压dp: dp[i][S]表示前i个花圃,最后m个的状态为S的情况 如果这是一条 ...

  5. bzoj2438 杀人游戏 Tarjan强联通

    [bzoj2438][中山市选2011]杀人游戏 Description 一位冷血的杀手潜入 Na-wiat,并假装成平民.警察希望能在 N 个人里面,查出谁是杀手.警察能够对每一个人进行查证,假如查 ...

  6. Vue实现增删改查功能

    简单的表单CURD功能demo <!DOCTYPE html> <html> <head> <meta charset="UTF-8"&g ...

  7. BZOJ 4766: 文艺计算姬

    4766: 文艺计算姬 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 456  Solved: 239[Submit][Status][Discuss] ...

  8. 兼容FF和IE的tooltip 鼠标提示框

    原文发布时间为:2009-09-07 -- 来源于本人的百度文章 [由搬家工具导入] http://www.walterzorn.de/tooltip/tooltip.htm 【请见该页面】 Down ...

  9. [LeetCode] Reverse Bits 位操作

    Reverse bits of a given 32 bits unsigned integer. For example, given input 43261596 (represented in ...

  10. Color.FromArgb()方法详解

    关于颜色值的表示 常用的颜色值表示方式有两种,一种是10进制的RGB值表示,如(0,113,255),三个值分别表示(红,绿,蓝):一种是16进制的颜色码表示,如#ff3212.这两种形式在编程中都可 ...