一、Connection 类

和数据库交互,必须连接它。连接帮助指明数据库服务器、数据库名字、用户名、密码,和连接数据库所需要的其它参数。Connection对象会被Command对象使用,这样就能够知道是在哪个数据源上面执行命令。

与数据库交互的过程意味着必须指明想要执行的操作。这是依靠Command对象执 行的。开发人员使用Command对象来发送SQL语句给数据库。Command对象使用Connection对象来指出与哪个数据源进行连接。开发人员 能够单独使用Command对象来直接执行命令,或者将一个Command对象的引用传递给DataAdapter,它保存了一组能够操作下面描述的一组 数据的命令。

二、Command对象

成功与数据建立连接后,就可以用Command对象来执行查询、修改、插入、删除等命令;Command对象常用的方法有ExecuteReader() 方法、ExecuteScalar()方法和ExecuteNonQuery()方法;插入数据可用ExecuteNonQuery()方法来执行插入命 令。

三、DataReader类

许多数据操作要求开发人员只是读取一串数据。DataReader对象允许开发人员获得从Command对象的SELECT语句得到的结果。考虑性能的因素,从DataReader返回的数据都是快速的且只是“向前”的数据流。这意味着开发人员只能按照一定的顺序从数据流中取出数据。这对于速度来说是有好处的,但是如果开发人员需要操作数据,更好的办法是使用DataSet。

四、DataSet对象

DataSet对象是数据在内存中的表示形式。它包括多个DataTable对象,而DataTable包含列和行,就象一个普通的数据库中的表。开发人 员甚至能够定义表之间的关系来创建主从关系(parent-child relationships)。DataSet是在特定的场景下使用――帮助管理内存中的数据并支持对数据的断开操作的。DataSet是被所有Data Providers使用的对象,因此它并不像Data Provider一样需要特别的前缀。

五、DataAdapter类

某些时候开发人员使用的数据主要是只读的,并且开发人员很少需要将其改变至底层的数据源。同样一些情况要求在内存中缓存数据,以此来减少并不改变的数据被 数据库调用的次数。DataAdapter通过断开模型来帮助开发人员方便的完成对以上情况的处理。当在一单批次的对数据库的读写操作的持续的改变返回至 数据库的时候,DataAdapter 填充(fill)DataSet对象。DataAadapter包含对连接对象以及当对数据库进行读取或者写入的时候自动的打开或者关闭连接的引用。另 外,DataAdapter包含对数据的SELECT、INSERT、UPDATE和DELETE操作的Command对象引用。开发人员将为 DataSet中的每一个Table都定义DataAadapter,它将为开发人员照顾所有与数据库的连接。所以开发人员将做的工作是告诉 DataAdapter什么时候装载或者写入到数据库。

六、DataTable类

DataTable 是一个数据网格控件。它可以被应用在 VB 和 ASP 上。它无须代码就可以简单的绑定数据库。它具有微软风格的用户界面。
DataTable的实例化以及添加列:
DataTable dt = new DataTable();
dt.Columns.Add("ID");
dt.Columns.Add("Name");
DataRow dr = dt.NewRow();
object[] objs = { 1, "Name" };
dr.ItemArray = objs;
dt.Rows.Add(dr);

this.dataGridView1.DataSource = dt;

转载于:https://www.cnblogs.com/tanzhen/p/4056107.html

Ado.net类与对象相关推荐

  1. C++ 笔记(18)— 类和对象(this 指针、指向类的指针、类静态成员变量和函数)

    1. this 指针 在 C++ 中,每一个对象都能通过 this 指针来访问自己的地址. this 指针是所有成员函数的隐含参数.因此,在成员函数内部,它可以用来指向调用对象. 友元函数没有 thi ...

  2. C++ 笔记(16)— 类和对象(类定义、类实例对象定义、访问类成员、类成员函数、类 public/private/protected 成员、类对象引用和指针)

    1. 类的定义 类定义是以关键字 class 开头,后跟类的名称.并在它后面依次包含类名,一组放在 {} 内的成员属性和成员函数,以及结尾的分号. 类声明将类本身及其属性告诉编译器.类声明本身并不能改 ...

  3. C02-程序设计基础提高班(C++)第9周上机任务-类和对象

    第9周:阅读教材第8章(p231-262),主要内容是类和对象,学会定义类和对象解决问题,完成第9周上机任务: (回到C02-程序设计基础提高班(C++)学习安排) 实践任务: [任务1]阅读.运行下 ...

  4. 函数返回类的对象与拷贝构造函数

    C++中,如果我们在一个函数中,定义了一个类的对象,然后返回这个对象,在main函数中用一个对象去接受这个返回的对象的时候,这里面参与的函数调用大家可能不熟悉,这里通过程序和注释的方式给大家讲解一下. ...

  5. ZJU-java进阶笔记 第一、二周(类与对象,对象交互)

    对象变量是对象的管理者,而非所有者 VendingMachine vm = new VendingMachine(); this指代当前对象 成员函数可以直接(不需要点运算符)调用本类的其他成员函数 ...

  6. 3个题目熟悉类和对象基础

    1.按要求编写Java应用程序: (1)编写西游记人物类(XiYouJiRenWu)其中属性有:身高(height),名字(name),武器(weapon)方法有:显示名字(printName),显示 ...

  7. ADO.Net五个对象

    Connection Command DataAdapter DataSet DataReader 取5个单词的首字母CCDDD,在拼音输入法里面打一下,出来5个字,然后就记忆为曹操打豆豆. 制作了一 ...

  8. 刻意练习:Python基础 -- Task10. 类与对象

    背景 我们准备利用17天时间,将 "Python基础的刻意练习" 分为如下任务: Task01:变量.运算符与数据类型(1day) Task02:条件与循环(1day) Task0 ...

  9. java中具有继承关系的类及其对象初始化顺序

    先说结论 对于具有继承关系的类,它们的类和对象构造顺序为:父类的类构造器() -> 子类的类构造器() -> 父类成员变量的赋值和实例代码块 -> 父类的构造函数 -> 子类成 ...

最新文章

  1. 找不到java.vbs_无法找到脚本*.VBS的脚本引擎解决办法
  2. java字符流解析_Java IO(四):字符流详解
  3. 为什么猫王不应该访问Java
  4. excel数据命令导入mysql_如何将EXCEL数据导入MYSQL
  5. 上班族如何当老板 五大模式任你选
  6. python数据分析简答题_Python数据分析与数据可视化-中国大学mooc-试题题目及答案...
  7. 前端又省事了,Chrome直接支持lazyload延迟加载
  8. php 二维数组去除一项,PHP二维数组提取函数----把不需要的数据剔除
  9. html网页设计课程的思维导图,UI设计初级教程学哪些?课程大纲和思维导图分享给你!...
  10. Oracle SQL查询,日期过滤条件要注意的一点
  11. unity获得运动物体前后时刻的位置坐标pos值
  12. QML 圆角进度条实现 圆角剪切
  13. 海康摄像头激活时报 错误2105
  14. Mp4box的下载、安装和使用
  15. 清除Chrome的缓存、Cookie
  16. 一张思维导图完成淘宝精细化运营
  17. 18个免费替代Photoshop的图像编辑软件
  18. 文明IV模组(MOD)制作指南
  19. reporting services报表部署错误:运行配置文件中指定的扩展时出现异常。 ---> 超过了最大请求长度。
  20. 常用颜色的RGB值及中英文名称对照表

热门文章

  1. pandas matplotlib 直播数据分析
  2. exchange2013警告The maximum number of concurrent connections has exceeded a limit
  3. 微信自定义内置返回事件
  4. Mac下配置cocos2d-x开发环境(android和ios)
  5. C++ STL下载和安装
  6. .NET 将文本转换成语音 (转)
  7. css3中transition属性详解
  8. Spring配置文件applicationContext.xml的两种拆分方式
  9. OpenStack 部署运维实战
  10. TrueNorth:IBM的百万神经元类人脑芯片