ADO.NET技术主要包括Connection、Command、DataReader、DataAdapter、DataSet和DataTable等6个对象,下面对这6个对象进行简单的介绍:
(1)Connection对象的主要功能是与数据库进行连接(事物处理也使用此对象)。
(2)Command对象主要用于返回数据、修改数据、运行存储过程以及发送或检索参数信息的数据库命令。
(3)DataReader对象主要功能是以只进流的方式从数据中读取行。
(4)DataAdapter对象主要功能是将数据库中的内容填充到DataSet对象,在修改DataSet对象中的数据后
还可以将修改信息通知数据库,使DataSet对象中的数据与数据库中的数据保持一致。
(5)DataSet对象是ADO.NET的核心概念,它是支持ADO.NET断开式、分布式数据方案的核心对象。
DataSet对象是一个数据库容器,可以把它当作是存在于内存中的数据库,无论数据源是什么,它都会提供一致的关系编程模型。
(6)DataTable可以理解为内存中的数据表。

形象地说明了ADO.NET中的每个对象的作用。
(1)数据库可以比作水库,存储了大量的数据。
(2)Connection对象可以比作进水笼头,只有打开进水笼头后抽水机才可以抽到水。
(3)Command对象可以比作抽水机,打开进水笼头,然后再打开抽水机,水会被送到用户家里。
(4)DataReader对象可以比作输水管道,打开进水笼头,然后再打开抽水机,水会被送到用户家里。
(5)DataAdapter对象可以比作输水管道,打开进水笼头,通过自己的发动机来抽水,水会被送到自己的水场中保存,以备后期使用。
(6)DataSet对象可以比作自来水场,当自来水场的水被抽水机装满后,即使关掉水笼头(断开数据库连接),自来水场还是有水可以使用的。
(7)DataTable对象可以比作自来水场中的水池,自来水场由很多水池组成。

摘自C#相关书籍

ADO.NET 使您能够创建 DataTable 对象并将其添加到现有 DataSet 中。 可以使用 PrimaryKey 和 Unique 属性为 DataTable 设置约束信息。

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 };

区分大小写

DataSet 中可以存在两个或两个以上的同名但是大小写不同的表或关系。 在这种情况下,通过名称对表和关系的引用将区分大小写。 例如,如果 DataSet dataSet 包含表 Table1 和 table1,则将通过名称将 Table1 作为dataSet.Tables["Table1"] 来引用,而将 table1 作为 dataSet.Tables["table1"] 来引用。 如果试图将其中任一个表作为 dataSet.Tables["TABLE1"] 来引用,则会生成异常。

如果只有一个具有特定名称的表或关系,则区分大小写行为不适用。 例如,如果 DataSet 只包含 Table1,则可以使用 dataSet.Tables["TABLE1"] 来引用。

Winform开发之ADO.NET对象Connection、Command、DataReader、DataAdapter、DataSet和DataTable简介的更多相关文章

  1. Winform开发之DataGridView的增删改

    DataGridView是一个非常强大的控件,用法很多.这里介绍一个简单的增删改例子. 贴效果图 右侧输入学生信息点击新增,将数据增加到数据库,并且加载到datagridview中,点击选择某条数据修 ...

  2. Winform开发之SqlCommand常用属性和方法

    SqlCommand类表示要对 SQL Server 数据库执行的一个 Transact-SQL 语句或存储过程,有若干个属性和若干个方法,具体的各类方法使用可以从msdn上找到. 这里介绍几个常用东 ...

  3. Asp.NetCore Web开发之ADO.Net

     Asp.NetCore可以说是.Net平台开发网站的一大利器,最近的一大段时间,就要跟大家分享,如何使用这一利器开发网站项目. 要学习网站开发,首先要学习如何使用ADO.Net进行数据库数据的增删改 ...

  4. 李洪强iOS开发之OC[014] -对象的存储细节

    // //  main.m //  13 - 对象的存储细节 // //  Created by vic fan on 16/7/9. //  Copyright © 2016年 李洪强. All r ...

  5. winform开发之UI系列

    1.如何构造一个漂亮的主窗体 主要讲述如何对一个新建窗体的美化过程,涉及到经常需要用到的几个属性我会着重强调它的用法,并不断更新它,因为楼主也正在探索中.... 步骤如下: vs新建一个winform ...

  6. winform 开发之Control.InvokeRequired

    Control.InvokeRequired 获取一个值,该值指示调用方在对控件进行方法调用时是否必须调用 Invoke 方法,因为调用方位于创建控件所在的线程以外的线程中. InvokeRequir ...

  7. 李洪强iOS开发之OC[018]对象和方法之间的关系

    // //  main.m //  18 - 对象和方法之间的关系 // //  Created by vic fan on 16/7/14. //  Copyright © 2016年 李洪强. A ...

  8. 编辑器开发之 Range 范围对象的学习

    写在前面: 网上有各种富文本编辑器,微博分享等操作,这些功能非常实用,他们就是使用 range,selection 对象来实现的,这两个对象偏冷门,不涉及编辑器一般用不到,range 对象是对选区的操 ...

  9. Excel催化剂开源第17波-VSTO开发之ADO.Net访问Sqlserver

    在Excel催化剂中,独树一帜地推出了Excel与数据库交互功能,目前仅实现了对Sqlserver的交互,在通用型插件中仅此一家,别无其他. 为何会出现这样的局面呢,原因大概有以下几大方面: 和数据库 ...

随机推荐

  1. vue基础篇(一)

    1.简介 Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用.Vue 的核心库只关注视图层,不仅易于上手 ...

  2. PAT Sum of Number Segments[数学问题][一般]

    1104 Sum of Number Segments(20 分) Given a sequence of positive numbers, a segment is defined to be a ...

  3. 【PGM】Representation--Knowledge Engineering,不同的模型表示,变量的类型,structure & parameters

    Part 1. 重要的区别: Template based   vs.   specific Directed  vs.  undirected Generative  vs.  discrimina ...

  4. Django的FBV和CB

    Django的FBV和CBV FBV FBV(function base views) 就是在视图里使用函数处理请求. 在之前django的学习中,我们一直使用的是这种方式,所以不再赘述. CBV C ...

  5. Hadoop HDFS的Shell操作实例

    本文发表于本人博客. 我们知道HDFS是Hadoop的分布式文件系统,那既然是文件系统那最起码会有管理文件.文件夹之类的功能吧,这个类似我们的Windows操作系统一样的吧,创建.修改.删除.移动.复 ...

  6. sql server中的怎么把数值型转换为字符串

    ①select cast(字段 as varchar) from 表名 ②select convert(varchar(50),字段) from 表名  

  7. UI自动化测试框架之Selenium关键字驱动

    一.原理及特点 1. 关键字驱动测试是数据驱动测试的一种改进类型 2. 主要关键字包括三类:被操作对象(Item).操作(Operation)和值(value),用面向对象形式可将其表现为Item.O ...

  8. myeclips破解

    MyEclipse官方安装文件,下载地址 http://www.jb51.net/softs/150886.html破解补丁http://www.jb51.net/softs/150887.html ...

  9. Android ANR异常及解决方法

    1,首先是查看log: 2,再看trace.txt; 3,看源码: 4,仔细分析ANR的原.

  10. TED #05# How we can face the future without fear, together

    Rabbi Lord Jonathan Sacks: How we can face the future without fear, together 1. what was it like bei ...