转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 站长学院 >> Web开发 >> 正文
使用ADO.NET访问数据库         ★★★★

使用ADO.NET访问数据库

作者:闵涛 文章来源:闵涛的学习笔记 点击数:2062 更新时间:2009/4/23 10:48:15
 

while (myReader.Read())

  Console.WriteLine("{0}\t{1}", myReader.GetString(0), myReader.GetString(1));

创建和使用 DataSet

ADO.NET DataSet 是数据的一种内存驻留表示形式,无论它包含的数据来自什么数据源,它都会提供一致的关系编程模型。一个 DataSet 表示整个数据集,其中包含对数据进行包含、排序和约束的表以及表间的关系。

使用 DataSet 的方法有若干种,这些方法可以单独应用,也可以结合应用。您可以:

  • DataSet 中以编程方式创建 DataTablesDataRelationsConstraints 并使用数据填充这些表。
  • 通过 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 中。可以使用要添加到 DataTableColumns 集合中的 DataColumn 对象的 PrimaryKeyUnique 属性来设置 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 对象以及 ForeignKeyConstraintUniqueConstraint 对象定义 DataTable 的架构。表中的列可以映射到数据源中的列、包含从表达式计算所得的值、自动递增它们的值,或包含主键值。

除架构以外,DataTable 还必须具有行,在其中包含数据并对数据排序。DataRow 类表示表中包含的实际数据。DataRow 及其属性和方法用于检索、计算和操作表中的数据。在访问和更改行中的数据时,DataRow 对象会维护其当前状态和原始状态。

您可以使用表中的一个或多个相关的列来创建表与表之间的父子关系。DataTable 对象之间的关系可使用 DataRelation 来创建。然后,DataRelation 对象可用于返回某特定行的相关子行或父行。

创建数据表

DataTable 表示一个内存内关系数据的表,可以独立创建和使用,也可以由其他 .NET 框架对象使用,最常见的情况是作为 DataSet 的成员使用。

DataTable 对象可通过使用 DataTable 构造函数来创建,或者可通过将构造函数参数传递到 DataSetTables 属性的 Add 方法(它是一个 DataTableCollection)来创建。

DataTable 对象可通过使用 DataAdapter 对象的 Fill 方法或 FillSchema 方法在 DataSet 内创建,或者可使用 DataSetReadXmlReadXmlSchema InferXmlSchema 方法从预定义的或推断的 XML 架构中创建。请注意,将 DataTable 添加为一个 DataSetTables 集合的成员后,不能再将其添至任何其他 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节点(二)
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Web开发  · 网页制作
    · 平面设计  · 网站运营
    · 网站推广  · 搜索优化
    · 建站心得  · 站长故事
    · 互联动态
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台