非类型化DataSet对象资源

DataSet是支持ADO.NET的断开式、分布式数据方案的核心。它是数据的内存驻留的表示形式,也就是说,它是一个驻留在内存中的数据库。

         DataSet字译是“数据集”,这个数据集中主要包含了数据表等数据对象。其结构类似于关系数据库的结构,它公开表、行、列约束和关系的分层模型。数据集位于System.Data命名空间之中。使用.NET FrameWork命名空间的如下图所示部分,可以创建和使用数据集。

 

        简单解释一下DataSet中的几个重要对象:

        (1)DataSet类 包含数据表的DataTableCollection集合和DataRelation对象的DataRealtionCollection集合

        (2)DataTable类 包含表行的DataRowCollection集合、数据列的DataColumnCollection集合和数据关系的ChildRelations和ParentRelations集合

        (3)DataRow类 包含了RowState属性。该属性的值用来表示自首次从数据库加载以来,行是否已经更改或者如果更改的。它的值包括:deleted、Modified、Added和unchanged。

如何创建DataSet?

主要是两种方法:一是在设计器中创建DataSet对象;另一种是在运行时通过代码创建。这里主要讲解使用代码创建的方法:

     DataSet类实现了3种形式的构造函数,用于创建非类型化的数据集。

DataSet()           

DataSet(DataSetName)

DataSet(SerializationInfo ,StreamingContext) 或DataSet(SerializationInfo ,StreamingContext,Boolean)

创建类型化的DataSet一般通过DataAdapter(通常通过一个数据库)来填充。

btw:类型化和非类型化的数据集有什么不同?其主要区别在于类型化的数据集的架构(表和列的结构)是派生于.xsd文件的,易于对其进行编程。类型化数据集显示从基类的DataSet派生,然后使用“数据集设计器”中的信息(存储在.xsd文件中)生成一个新的强类型数据集类。架构中的信息(比如表、列等)被作为一组第一类对象和属性生成并编译为此新数据集类。 相比而言,非类型的数据集没有内置架构,它们只作为集合公开。

DataSet ds = new DataSet();

string str = "Data Source=localhost; Initial Catalog=adventureWorks; UserID=sa; Password=sa";

string strsql = "select * from production.product";

SqlDataAdapter da = new SqlDataAdapter(strsql,str);   //使用数据适配器

da.Fill(ds); //将查询结果填充到数据集da中  

// da.Fill(ds,"prodcut1");// 这是将查询结果填充到数据集da中的数据表product1中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值