博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# DataTbale详细操作
阅读量:4584 次
发布时间:2019-06-09

本文共 3643 字,大约阅读时间需要 12 分钟。

1、创建DataTable对象

DataTable dt = new DataTable("Table_AX");

2、为DataTable创建列

//方式一(我觉得这种好)dt.Columns.Add("column0", System.Type.GetType("System.String"));//方式二DataColumn dc = new DataColumn("column0", typeof(string));DataColumn dc = new DataColumn("column1", System.Type.GetType("System.Boolean"));dt.Columns.Add(dc);

3、添加数据

DataRow dr = dt.NewRow();dr["column0"] = "AX";dr["column1"] = true;dt.Rows.Add(dr);

4、移除数据

dt.Columns.Remove("column0");

4、判断是否有数据

//判断是否有数据if (dt.Rows.Count > 0){     //有}

5、查询

DataRow[] drs = dt.Select("column1 is null");DataRow[] drss = dt.Select("column0 = 'AX'"); //返回第一条DataRow dr = dt.Select("column1 is null").First();//多条件用and连接DataRow[] rows = dt.Select("column0 = 'AX' and column1 == true").First();

6、复制

//复制一个DataTable(有数据)DataTable dtNew = dt.Copy();//复制一个空的DataTable(无数据)DataTable dtOnlyScheme = dt.Clone();//将 DataRow 复制到 DataTable 中,保留任何属性设置以及初始值和当前值DataRow[] rows = dt.Select("column0 = 'AX' and column1 == true").First();foreach (DataRow row in rows){    dtNew.ImportRow(row);//复制行数据}

7、DataRow赋值

DataRow drOperate = dt.Rows[0];//方式一drOperate["column0"] = "AXzhz";drOperate["column1"] = false;//方式二drOperate[0] = "AXzhz";drOperate[1] = false;//方式三dt.Rows[0]["column0"] = "AXzhz";dt.Rows[0]["column1"] = false;//方式四dt.Rows[0][0] = "AXzhz";dt.Rows[0][1] = false;

8、把DataRow数据存到DataTable中

dtOnlyScheme.Rows.Add(dt.Rows[0].ItemArray);

9、转成字符串

System.IO.StringWriter sw = new System.IO.StringWriter();System.Xml.XmlTextWriter xw = new System.Xml.XmlTextWriter(sw);dt.WriteXml(xw);//此处DataTable必须有名字string s = sw.ToString();

10、筛选数据()

dt.DefaultView.RowFilter = "column1 <> true";dt.DefaultView.RowFilter = "column1 = true";

11、排序

dt.DefaultView.Sort = "column0 ,column1 ASC";dt = dt.DefaultView.ToTable();

12、判断一个字符串是否为DataTable的列名

bool flag = dt.Columns.Contains("AX");

13、取值

string str =dt.Rows[第几行]["字段名"].ToString(); string str =dt.Rows[第几行][第几列].ToString();//for循环for (int i = 0; i < dt.Rows.Count; i++){    string str = dt.Rows[i]["字段名"].ToString();    string str = dt.Rows[i][第几列].ToString();}//foreach循环foreach (DataRow dr in dt.Rows){    string str = dr["字段名"].ToString();}

 

//创建DataTable对象DataTable dt = new DataTable("Table_AX");//为DataTable创建列//方式一(我觉得这种好)dt.Columns.Add("column0", System.Type.GetType("System.String"));//方式二DataColumn dc = new DataColumn("column1", System.Type.GetType("System.Boolean"));dt.Columns.Add(dc);//添加数据DataRow dr = dt.NewRow();dr["column0"] = "AX";dr["column1"] = true;dt.Rows.Add(dr);            //判断是否有数据if (dt.Rows.Count > 0){     //有}//查询DataRow[] drs = dt.Select("column1 is null");DataRow[] drss = dt.Select("column0 = 'AX'"); //复制一个DataTable(有数据)DataTable dtNew = dt.Copy();//复制一个空的DataTable(无数据)DataTable dtOnlyScheme = dt.Clone();//给DataRow赋值的三种方式DataRow drOperate = dt.Rows[0];//方式一drOperate["column0"] = "AXzhz";drOperate["column1"] = false;//方式二drOperate[0] = "AXzhz";drOperate[1] = false;//方式三dt.Rows[0]["column0"] = "AXzhz";dt.Rows[0]["column1"] = false;//方式四dt.Rows[0][0] = "AXzhz";dt.Rows[0][1] = false;//把DataRow数据存到DataTable中dtOnlyScheme.Rows.Add(dt.Rows[0].ItemArray); //转成字符串System.IO.StringWriter sw = new System.IO.StringWriter();System.Xml.XmlTextWriter xw = new System.Xml.XmlTextWriter(sw);dt.WriteXml(xw);//此处DataTable必须有名字string s = sw.ToString();//筛选数据(详见DefaultView文章)dt.DefaultView.RowFilter = "column1 <> true";dt.DefaultView.RowFilter = "column1 = true";//排序dt.DefaultView.Sort = "column0 ,column1 ASC";dt = dt.DefaultView.ToTable();//绑定的其实是DefaultView//gvTestDataTable.DataSource = dt;//gvTestDataTable.DataBind();//判断一个字符串是否为DataTable的列名bool flag = dt.Columns.Contains("AX");
整合代码

 

转载于:https://www.cnblogs.com/cang12138/p/6085525.html

你可能感兴趣的文章
极角排序那些事
查看>>
Ganglia+nagios 监控hadoop资源与报警
查看>>
博客园主题样式修改教程
查看>>
TextView实现多个TextView对象的走马灯效果
查看>>
感悟成功
查看>>
学员管理示例:Ajax删除学生
查看>>
线程组和未处理的异常
查看>>
Oracle管理监控之为11g asm磁盘组添加磁盘
查看>>
javasrcipt中的for in 循环
查看>>
git命令的使用 【备用】
查看>>
uva1391 2-SAT 问题
查看>>
冲刺2-4
查看>>
Matlab画图-非常具体,非常全面
查看>>
泛泰A880S升级官方4.4.2 binx教程
查看>>
Python装饰器
查看>>
Java String format 对%的处理
查看>>
跨平台移动应用开发AppCan开发文档阅读指南
查看>>
Lind.DDD敏捷领域驱动框架~介绍
查看>>
PHP自带函数给数字前补0或补位(转)
查看>>
iOS runtime实用篇--和常见崩溃say good-bye!
查看>>