|
while (myReader.Read())
Console.WriteLine("{0}\t{1}", myReader.GetString(0), myReader.GetString(1));
创建和使用 DataSet
ADO.NET DataSet 是数据的一种内存驻留表示形式,无论它包含的数据来自什么数据源,它都会提供一致的关系编程模型。一个 DataSet 表示整个数据集,其中包含对数据进行包含、排序和约束的表以及表间的关系。
使用 DataSet 的方法有若干种,这些方法可以单独应用,也可以结合应用。您可以:
- 在 DataSet 中以编程方式创建 DataTables、DataRelations 和 Constraints 并使用数据填充这些表。
- 通过 DataAdapter 用现有关系数据源中的数据表填充 DataSet。
创建 DataSet
可以通过调用 DataSet 构造函数来创建 DataSet 的实例。请指定一个可选名称参数。如果没有为 DataSet 指定名称,则该名称会设置为“NewDataSet”。
也可以基于现有的 DataSet 来创建新的 DataSet。新的 DataSet 可以是:现有 DataSet 的原样副本;DataSet 的复本,它复制关系结构(即架构)但不包含现有 DataSet 中的任何数据;或 DataSet 的子集,它仅包含现有 DataSet 中已使用 GetChanges 方法修改的行。
以下代码示例演示如何构造 DataSet 的实例。 [C#] DataSet custDS = new DataSet("CustomerOrders");
向 DataSet 添加 DataTable
ADO.NET 使您能够创建 DataTable 对象并将其添加到现有 DataSet 中。可以使用要添加到 DataTable 的 Columns 集合中的 DataColumn 对象的 PrimaryKey 和 Unique 属性来设置 DataTable 的约束信息。
以下示例构造一个 DataSet,将一个新的 DataTable 对象添加到该 DataSet 中,然后将三个 DataColumn 对象添加到该表中。最后,该代码将一个列设置为主键列。
[C#]
DataSet custDS = new DataSet("CustomerOrders");
DataTable ordersTable = custDS.Tables.Add("Orders");
DataColumn pkCol = ordersTable.Columns.Add("OrderID", typeof(Int32));
ordersTable.Columns.Add("OrderQuantity", typeof(Int32));
ordersTable.Columns.Add("CompanyName", typeof(string));
ordersTable.PrimaryKey = new DataColumn[] {pkCol};
创建和使用数据表
DataSet 由表、关系和约束的集合组成。在 ADO.NET 中,DataTable 对象用于表示 DataSet 中的表。DataTable 表示一个内存内关系数据的表;数据对于它驻留于其中的基于 .NET 的应用程序来说是本地数据,但可从数据源(例如,使用 DataAdapter 的 Microsoft® SQL Server)中导入。
DataTable 类是“.NET 框架类库”中 System.Data 命名空间的成员。您可以独立创建和使用 DataTable,或者可以将其用作 DataSet 的成员,而且 DataTable 对象也可以与其他 .NET 框架对象(包括 DataView)一起使用。您可以通过 DataSet 对象的 Tables 属性来访问 DataSet 中表的集合。
表的架构或结构由列和约束表示。使用 DataColumn 对象以及 ForeignKeyConstraint 和 UniqueConstraint 对象定义 DataTable 的架构。表中的列可以映射到数据源中的列、包含从表达式计算所得的值、自动递增它们的值,或包含主键值。
除架构以外,DataTable 还必须具有行,在其中包含数据并对数据排序。DataRow 类表示表中包含的实际数据。DataRow 及其属性和方法用于检索、计算和操作表中的数据。在访问和更改行中的数据时,DataRow 对象会维护其当前状态和原始状态。
您可以使用表中的一个或多个相关的列来创建表与表之间的父子关系。DataTable 对象之间的关系可使用 DataRelation 来创建。然后,DataRelation 对象可用于返回某特定行的相关子行或父行。
创建数据表
DataTable 表示一个内存内关系数据的表,可以独立创建和使用,也可以由其他 .NET 框架对象使用,最常见的情况是作为 DataSet 的成员使用。
DataTable 对象可通过使用 DataTable 构造函数来创建,或者可通过将构造函数参数传递到 DataSet 的 Tables 属性的 Add 方法(它是一个 DataTableCollection)来创建。
DataTable 对象可通过使用 DataAdapter 对象的 Fill 方法或 FillSchema 方法在 DataSet 内创建,或者可使用 DataSet 的 ReadXml、ReadXmlSchema 或 InferXmlSchema 方法从预定义的或推断的 XML 架构中创建。请注意,将 DataTable 添加为一个 DataSet 的 Tables 集合的成员后,不能再将其添至任何其他 DataSet 的表的集合。
最初创建 DataTable 时,它是没有架构(结构)的。要定义表的架构,必须创建 DataColumn 对象并将其添至表的 Columns 集合。您也可以为表定义主键列,而且可以创建 Constraint 对象并将其添至表的 Constraints 集合。在为 DataTable 定义了架构之后,可通过将 DataRow 对象添至表的 Rows 集合来将数据行添加到表。
创建 DataTable 时,不需要为 TableName 属性提供值,您可以在其他时间指定属性,或者将其保留为空。但是,在将没有 TableName 值的表添至 DataSet 时,该表就会得到一个递增的默认名称 TableN 上一页 [1] [2] [3] 下一页 [C语言系列]NET 中C#的switch语句的语法 [系统软件]托拽Explore中的文件到VB.net的窗口 [系统软件]Boost库在XP+Visual C++.net中的安装 [常用软件]新配色面板:Paint.Net3.0RC1官方下载 [常用软件]用内建的“Net Meeting”聊天 [VB.NET程序]Henry的VB.NET之旅(三)—共享成员 [VB.NET程序]Henry的VB.NET之旅(二)—构造与析构 [VB.NET程序]Henry的VB.NET之旅(一)—失踪的窗体 [VB.NET程序]在托盘上显示Balloon Tooltip(VB.NET) [VB.NET程序]Henry手记-VB.NET中动态加载Treeview节点(二)
|