DataTbale取值
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 > )
{
//有
}
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[];
//方式一
drOperate["column0"] = "AXzhz";
drOperate["column1"] = false;
//方式二
drOperate[] = "AXzhz";
drOperate[] = false;
//方式三
dt.Rows[]["column0"] = "AXzhz";
dt.Rows[]["column1"] = false;
//方式四
dt.Rows[][] = "AXzhz";
dt.Rows[][] = false;
8、把DataRow数据存到DataTable中
dtOnlyScheme.Rows.Add(dt.Rows[].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、筛选数据(详见DefaultView文章)
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 = ; 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 > )
{
//有
} //查询
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[];
//方式一
drOperate["column0"] = "AXzhz";
drOperate["column1"] = false;
//方式二
drOperate[] = "AXzhz";
drOperate[] = false;
//方式三
dt.Rows[]["column0"] = "AXzhz";
dt.Rows[]["column1"] = false;
//方式四
dt.Rows[][] = "AXzhz";
dt.Rows[][] = false; //把DataRow数据存到DataTable中
dtOnlyScheme.Rows.Add(dt.Rows[].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");
整合代码
DataTbale取值的更多相关文章
- 如何解决流程开发中SheetRadioButtonList页面取值问题
分享一个常见的取值问题. 应用场景: SheetRadioButtonList控件,点击其中一项执行事件操作.如果是页面加载的情况下,值就无法取到. 具体原因如下: 我给SheetRadioButto ...
- jQuery radio的取值与赋值
取值: $("input[name='radioName']:checked").val(); 赋值: $("input[name='radioName'][value= ...
- python通过函数改变变量取值
严格讲应该是"通过函数调用,改变引用对象".python中,要区分"变量名"和"对象" 如果是类的对象,是引用类型的,那么可以通过函数调用, ...
- jsf初学selectOneMenu 绑定与取值
jsf 的selectOneMenu 最后生成的<select>标签.这里涉及到一个binding 起初一直不知道是干嘛的,后来参考了其他文章.就相当于在asp.net 中如:<as ...
- CYQ.Data 快速开发之UI(赋值、取值、绑定)原理
昨夜园子猴子问了几个我CYQ.Data使用的小问题,经过简单解答后,他表示“妈妈再也不用担心我的学习",并于事后以资鼓励,希望这框架越走越好. 除了技术上的交流,双方在生活,S上面的问题上也 ...
- EditText的inputType常用取值
最近经过实际试验,总结了InputType几个常用取值表示的含义: 1.none, text, textVisiblePassword: 无任何输入限制 2.textMultiLine: 允许多行输入 ...
- jquery select取值,赋值操作
select">jquery select取值,赋值操作 一.获取Select 获取select 选中的 text : $("#ddlRegType").find( ...
- Jquery 关于span标签的取值赋值用法
span是最简单的容器,可以当作一个形式标签,其取值赋值方法有别于一般的页面元素. //赋值 $("#spanid").html(value) //取值 $("#span ...
- jQuery radio取值,checkbox取值,select取值
语法解释: $("#select_id").change(function(){//code...}); //为Select添加事件,当选择其中一项时触发 var checkTex ...
随机推荐
- 在debug模式下运行不报错,换到release模式下报找不到某某库或文件的错。。解决办法
我遇到的问题是:把edit secheme调到debug模式运行没有问题,然后调到release模式的时候报目录下没有libTuyoo.a 解决办法 把断开真机设备,用IOS device下relea ...
- 【HDOJ】2782 The Worm Turns
DFS. /* 2782 */ #include <iostream> #include <queue> #include <cstdio> #include &l ...
- 每天一个linux命令:mkdir
linux mkdir 命令用来创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录. 1.命令格式: mkdir [选项] 目录... 2.命令 ...
- google font和@font-face
会使用google字体 网址: http://www.google.com/fonts/ 选择字体, quick use 引用css: <link href='http://fonts.goog ...
- 用Delphi7开发Web Service程序 转
转:http://rosehacker.blog.51cto.com/2528968/450160 用Delphi7开发Web Service程序,并把服务程序放在IIS Web服务器上提供给 ...
- Hadoop的文件读写操作流程
以下主要讲解了Hadoop的文件读写操作流程: 读文件 读文件时内部工作机制参看下图: 客户端通过调用FileSystem对象(对应于HDFS文件系统,调用DistributedFileSystem对 ...
- 卡特兰数(Catalan Number) 算法、数论 组合~
Catalan number,卡特兰数又称卡塔兰数,是组合数学中一个常出现在各种计数问题中出现的数列.以比利时的数学家欧仁·查理·卡塔兰 (1814–1894)命名. 卡特兰数的前几个数 前20项为( ...
- ListView的性能优化之convertView和viewHolder
转载请注明出处 最近碰到的面试题中经常会碰到问"ListView的优化"问题.所以就拿自己之前写的微博客户端的程序做下优化. 自己查了些资料,看了别人写的博客,得出结论,ListV ...
- 《A First Course in Probability》-chaper7-期望的性质-期望的性质-协方差
在实际的问题中,我们往往想要通过已有的数据来分析判断两个事件的发生是否有相关性.当然一个角度去寻找这两个事件内在的逻辑关系,这个角度需要深究两个事件的本质,而另外一个角度就是概率论提供的简单方法:基于 ...
- sonarQube Scanner
到现在为止,已经将sonarQube服务器搭建好,服务器是Linux服务器,基于sonarQube6.1配置的 原理关于sonarQube的工作原理,暂时还不是太清楚,据同事的分析,是在本机调用服务器 ...