【C#】 DataSet .用法.
来源:互联网 发布:淘宝上怎么查住宿记录 编辑:程序博客网 时间:2024/05/22 14:28
DataSet 是C#中用来存储数据库数据的。其实,它的作用是在内存中模拟数据库。我们现实生活中的数据库从大到小的基本结构类似于:数据库实例,表,列,行。在C#语言中,我们在内存中也模拟出了一个这样的关系型数据模型。对应关系如下表:
数据库 DataSet
表 DataTable
列 DataColumn
行 DataRow
有了这一样模拟之后,我们在操作数据库和内存的时候,就可以使用同样的思维模型了。
DataSet 和 物理数据库是两个客体,要使这两个客体保持一致,就需要使用 DataAdapter 类来同步两个客体。一般来说操作流程是:使用 DataAdapter 把物理数据库中的数据填充到 DataSet 中的 DataTable 里。当我们对内存中的 DataSet 做了增、删、改操作后,可以使用 DataAdapter 同步回数据库。
MSDN的描述如下:
通过 DataAdapter 使用数据源中的数据生成和填充 DataSet 中的每个DataTable。
通过添加、更新或删除 DataRow 对象更改单个 DataTable 对象中的数据。
调用 GetChanges 方法以创建只反映对数据进行的更改的第二个DataSet。
调用 DataAdapter 的 Update 方法,并将第二个 DataSet 作为参数传递。
调用 Merge 方法将第二个 DataSet 中的更改合并到第一个中。
针对 DataSet 调用 AcceptChanges。或者,调用 RejectChanges 以取消更改。
一、 创建dataset
1. 创建
可以选择指定一个名称参数。如果没有为 DataSet 指定名称,则默认设置为“NewDataSet”。
DataSet customerOrders = new DataSet("CustomerOrders");
2. 复制
DataSet 的原样副本,其中包含架构、数据、行状态信息和行版本。
DataSet copyDataSet = customerDataSet.Copy();
创建包含现有 DataSet 的架构但仅包含已修改行的 DataSet。可以返回已修改的所有行或者指定特定的 DataRowState。
// Copy all changes.
DataSet changeDataSet = customerDataSet.GetChanges();
// Copy only new rows.
DataSet addedDataSet = customerDataSet.GetChanges(DataRowState.Added);
仅复制 DataSet 的架构(即关系结构),而不复制任何行。可以使用 ImportRow 将行导入现有 DataTable。
DataSet germanyCustomers = customerDataSet.Clone();
二、 向 DataSet 添加 DataTable
我们可以创建 DataTable 对象,并将其添加到现有 DataSet 中。还可以使用 PrimaryKey 和 Unique 属性为 DataTable 设置约束信息。
以下示例构造一个 DataSet,将一个新的DataTable 对象添加到该DataSet 中,然后将三个DataColumn 对象添加到该表中。最后,该代码将一个列设置为主键列。
DataSet customerOrders = new DataSet("CustomerOrders");DataTable ordersTable = customerOrders.Tables.Add("Orders");DataColumn pkOrderID = ordersTable.Columns.Add("OrderID", typeof(Int32));ordersTable.Columns.Add("OrderQuantity", typeof(Int32));ordersTable.Columns.Add("CompanyName", typeof(string));ordersTable.PrimaryKey = new DataColumn[] { pkOrderID };
参考文献:http://msdn.microsoft.com/zh-cn/library/ss7fbaez(v=vs.90) //这个是3.5版本的,应该看这个
- 【C#】 DataSet .用法.
- C#:DataSet和DataTable用法
- C#:DataSet和DataTable区别和用法
- C#:DataSet和DataTable区别和用法
- DataSet用法
- dataset用法
- DataSet用法
- DataSet用法
- dataSet用法
- DATASET用法
- DataSet 用法
- 浅谈DataSet 的用法
- 浅谈DataSet 的用法
- DataSet.Locate用法
- DataSet的用法
- 浅谈DataSet 的用法
- 浅谈DataSet 的用法
- DataSet读取数据用法
- vc++6.0 编译出现问题的解决方法
- 学习vi和vim编辑器——第六章 全局替换
- Python 代码性能优化技巧
- 获取窗口类指针
- Developer Express 的SearchLookUpEdit控件使用实例
- 【C#】 DataSet .用法.
- 黑马程序员_Java的垃圾回收机制
- 图像处理头文件源码
- 内部创业的五种死因
- 计算某正整数换算成二进制后bit为1的个数
- URLRewrite伪静态在服务器上配置
- 图像去除彩色源代码
- javascript 支持触屏的全屏预览图片的效果
- XPath 使用 HasRights 获取权限