
DataSet、DataTable、DataRow区别详解

DataSet
表示数据在内存中的缓存。
属性
Tables 获取包含在 DataSet 中的表的集合。
ds.Tables["sjxx"]
DataTable
表示内存中数据的一个表。
公共属性
Columns 获取属于该表的列的集合。
DataSet 获取此表所属的 DataSet。
DefaultView 获取可能包括筛选视图或游标位置的表的自定义视图。
PrimaryKey 获取或设置充当数据表主键的列的数组。
Rows 获取属于该表的行的集合。
TableName 获取或设置 DataTable 的名称。
DataRow
表示 DataTable 中的一行数据
row["index"]
DataColumn
表示 DataTable 中列的架构。
DataTable与DataSet常用操作实例
//创建DataSet
DataSet ds = new DataSet();
//创建DataTable
DataTable dt = new DataTable();
dt.Columns.Add("id",Type.GetType("System.Int32"));
dt.Columns["id"].AutoIncrement = true;
dt.Columns.Add("name",Type.GetType("System.String"));
//插入行
DataRow dw1 = dt.NewRow();
dw1["name"] = "test1";
dt.Rows.Add(dw1);
DataRow dw2 = dt.NewRow();
dw2["name"] = "test2";
dt.Rows.InsertAt(dw2,0);
//将DataTable添加到DataSet中
ds.Tables.Add(dt);
//DataTable中查询
DataTable dt = new DataTable();
DataRow dr[] = dt.Select("1 = 1");
//DataTable更新
DataTable dt = (DataTable)HttpContext.Current.Cache["MYCACHE"];
DataRow[] dr = dt.Select("1 = 1");
if (dr.Length > 0)
{
dr[0]["colName"] = "colValue";
}
//统计
object o = dt.Compute("SUM(col_name)", "1=1");
相关推荐
-
tensorflow dataset.shuffle、dataset.batch、dataset.repeat顺序区别详解
1.作用 dataset.shuffle作用是将数据进行打乱操作,传入参数为buffer_size,改参数为设置"打乱缓存区大小",也就是说程序会维持一个buffer_size大小的缓存,每次都会随机在这个缓存区抽取一定数量的数据 dataset.batch作用是将数据打包成batch_size dataset.repeat作用就是将数据重复使用多少epoch 2.各种不同顺序的区别 示例代码(以下面代码作为说明): # -*- coding: utf-8 -*- import ten
-
DataSet、DataTable、DataRow区别详解
DataSet 表示数据在内存中的缓存. 属性 Tables 获取包含在 DataSet 中的表的集合. ds.Tables["sjxx"] DataTable 表示内存中数据的一个表. 公共属性 Columns 获取属于该表的列的集合. DataSet 获取此表所属的 DataSet. DefaultView 获取可能包括筛选视图或游标位置的表的自定义视图. PrimaryKey 获取或设置充当数据表主键的列的数组. Rows 获取属于该表的行的集合. TableName 获取或设
-
微信小程序bindtap与catchtap的区别详解
目录 1.什么是事件 2.如何使用事件 3.bindtap和catchtap的区别 4.小程序中事件分为冒泡事件和非冒泡事件. 事件之target&¤tTarget区别 5.例子 1.什么是事件 (1) 事件是视图层到逻辑层的通讯方式. (2) 事件可以将用户的行为反馈到逻辑层进行处理. (3) 事件可以绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件处理函数. (4) 事件对象可以携带额外信息,如 id,dataset,touches 2.如何使用事件 (1) 简单来
-
JS处理数据四舍五入(tofixed与round的区别详解)
1 .tofixed方法 toFixed() 方法可把 Number 四舍五入为指定小数位数的数字.例如将数据Num保留2位小数,则表示为:toFixed(Num):但是其四舍五入的规则与数学中的规则不同,使用的是银行家舍入规则,银行家舍入:所谓银行家舍入法,其实质是一种四舍六入五取偶(又称四舍六入五留双)法.具体规则如下: 简单来说就是:四舍六入五考虑,五后非零就进一,五后为零看奇偶,五前为偶应舍去,五前为奇要进一. 显然这种规则不符合我们平常在数据中处理的方式.为了解决这样的问题,可以自定义
-
AngularJS constant和value区别详解
angularJS可以通过constant(name,value)和value(name,value)对于创建服务也是很重要的. 相同点是:都可以接受两个参数,name和value. 区别: 1.constant(name,value)可以将一个已经存在的变量值注册为服务,并将其注入到应用的其他部分中.其中,name为注册的常量的名字,value为注册的常量的值或对象. 举例: (1)value为值时: angular.module('myApp') .constant('apiKey','12
-
基于python中staticmethod和classmethod的区别(详解)
例子 class A(object): def foo(self,x): print "executing foo(%s,%s)"%(self,x) @classmethod def class_foo(cls,x): print "executing class_foo(%s,%s)"%(cls,x) @staticmethod def static_foo(x): print "executing static_foo(%s)"%x a=A(
-
Oracle10个分区和Mysql分区区别详解
Oracle10g分区常用的是:range(范围分区).list(列表分区).hash(哈希分区).range-hash(范围-哈希分区).range-list(列表-复合分区). Range分区:Range分区是应用范围比较广的表分区方式,它是以列的值的范围来做为分区的划分条件,将记录存放到列值所在的range分区中. 如按照时间划分,2010年1月的数据放到a分区,2月的数据放到b分区,在创建的时候,需要指定基于的列,以及分区的范围值. 在按时间分区时,如果某些记录暂无法预测范围,可以创建m
-
基于DOM节点删除之empty和remove的区别(详解)
要移除页面上节点是开发者常见的操作,jQuery提供了几种不同的方法用来处理这个问题,这里我们开仔细了解下empty和remove方法 empty 顾名思义,清空方法,但是与删除又有点不一样,因为它只移除了 指定元素中的所有子节点. 这个方法不仅移除子元素(和其他后代元素),同样移除元素里的文本.因为,根据说明,元素里任何文本字符串都被看做是该元素的子节点.请看下面的HTML: <div class="hello"><p>这是p标签</p></
-
node.js中grunt和gulp的区别详解
node.js中grunt和gulp的区别详解 自nodeJS登上前端舞台,自动化构建变得越来越流行.目前最流行的当属grunt和gulp,这两个光看名字挺像,功能也差不多,不过gulp能在grunt这位大哥如日中天的境况下开辟出自己的一片天地,有着她独到的优点. 易用 Gulp相比Grunt更简洁,而且遵循代码优于配置策略,维护Gulp更像是写代码. 高效 Gulp相比Grunt更有设计感,核心设计基于Unix流的概念,通过管道连接,不需要写中间文件. 高质量 Gulp的每个插件只完成一个功能
-
基于js中this和event 的区别(详解)
今天在看javascript入门经典-事件一章中看到了 this 和 event 两种传参形式.因为作为一个初级的前端开发人员平时只用过 this传参,so很想弄清楚,this和event的区别是什么,什么情况下用什么比较合适. onclick = changeImg(this) vs onclick = changeImg(event) <img src='usa.gif' onclick="changeImg(event)" /> <scrip
随机推荐
- Oracle开发之分析函数简介Over用法
- JavaScript实现简单的日历效果
- JavaScript中使用Substring删除字符串最后一个字符
- Zend Framework基本页面布局分析
- Docker中容器数据卷(Data Volume)和数据管理详解
- JS判断对象是否存在的10种方法总结
- Node.js操作redis实现添加查询功能
- 详解基于webpack2.x的vue2.x的多页面站点
- 使用Java的Lucene搜索工具对检索结果进行分组和分页
- 跟我学Nodejs(三)--- Node.js模块
- Mysql 自动增加设定基值的语句
- 使用jQuery获得内容以及内容的属性
- 详解JavaScript中循环控制语句的用法
- 入侵检测及网络安全发展技术探讨
- 关于Apache默认编码错误 导致网站乱码的解决方案
- 轻松掌握Java单例模式
- Android的支付密码输入框实现浅析
- C#拼图游戏编写代码(2)
- 详解Android studio中正确引入so文件的方法
- C#使用开源驱动连接操作MySQL数据库
其他
- python qq自动回复
- 视频抽帧 python
- 实时图像拼接左右 上下
- 隐藏 <tbody></tbody>
- vue element表单上传多个文件
- ASP生成静态文件编码为UTF-8格式的HTML文件
- docker-maven-plugin 插件的配置参数
- vscode std红色
- Android C# 截图代码
- android 实现拖动悬浮窗取词
- intellj Subversion 使用自定义目录
- global-session作用域
- 给循环到的input框设置禁用vue
- php 合并单元格 cvs
- flink Trigger使用
- Keep-alive 多层级
- v-if关闭弹窗校验还在
- c 求解多元多次方程
- mybatis 0自动转为空字符串
- java事務本类方法调用