ADO.NET概述

一、。NET数据提供程序

。Net框架提供数据提供程序:SQL Client .NET Data Provider和Ole DB .NET Data Provider.前者专为SQL Server7以及以后的版本的数据库进行通信而设计,后者允许通过OLE DB提供程序与各种数据存储进行通信。无论使用哪种方式,所编写的代码都很相似。

二、对象分类概述

1、  连接的对象

Ⅰ、Connection对象:

表示与数据源之间的连接。可通过Connection对象的各种不同属性指定数据源的类型、位置以及其他属性,可用它来与数据库建立连接或断开连接。Connection对象起到渠道的作用,其他对象如DataAdapter和Command对象通过它与数据库通信。

Ⅱ、Command对象:

表示对数据库的查询、对存储过程的调用或要返回特定表内容的直接请求。可使用Command对象对数据库执行任何一种查询操作。

Ⅲ、DataReader对象:

DataReder用于以最快的数据检索并检查查询所返回的行。可使用DataReader对象来检查查询结果,一次查询一行,当移到下一行时,前一行的内容就会被放弃。DataReader不支持更新操作,由DataReader返回的数据是只读的。由于DataReader对象支持最小特性集,所以它的速度非常快,而且是轻量的。

Ⅳ、Transaction对象:

Connection对象有一个BeginTransaction方法,可用来创建Transaction对象。该对象可用来在    Transaction对象的生存期提交或取消对数据库所做的更改。

Ⅴ、Parameter对象:

要使用参数化的Command对象,可先为查询中的每个参数创建Parameter对象,并将它们添加到Command对象的Paramters集合中。ADO.NET的Parameter对象公开一些属性和方法,可用来定义参数的数据类型和值。

Ⅵ、DataAdapter对象:

DataAdapter对象充当数据库和ADO.NET对象模型中断开连接的对象之间的桥梁。DataAdapter对象会填充DataSet对象中的表,而且能读取缓存的更改并将其提交给数据库。

2、  断开连接的对象

Ⅰ、DataTable对象:

DataTable对象允许您通过行和列的集合查看数据。通过DataAdapter对象的Fill方法,可以将查询的结果存储在DataTable中。一旦从数据库中读出了数据,将其存储在DataTable对象中,数据与服务器之间的连接就断开拉。

DataTable类包含了其他断开连接对象的集合。例如:DataRow,DataColumn,Constraints等。

Ⅱ、DataColumn对象:

每个DataTable都有一个Columns集合,该集合是DataColumn对象的容器。DataColumn对象存储了有关列结构的信息。

Ⅲ、Constraint对象:

Constraint对象存在于DataTable对象的Constraints集合中,可以建立一个Constraint对象,确保某一列或多个列中的值在DataTable中是惟一的。

Ⅳ、DataRow对象:

想要访问存储在DataTable对象中的实际值,可以使用对象的Rows集合,该集合中包含了一组DataRow对象。DataTable通过DataRows的集合使得所有数据行都可以访问。DataRow对象也是更新的起点。

Ⅴ、DataSet对象:

可以将DataSet对象视为一些DataTable对象的容器。DataSet对象还有一些属性,可以向文件、内存地址写入,或读出该对象;可以只保存DataSet对象的内容或只保存DataSet对象的结构,也可以两者都保存。

Ⅵ、DataRelation对象:

DataSet类定义了一个Realtion属性,该属性是DataRelation对象的一个集合,可以使用DataRelation对象来表明DataSet中不同的DataTable对象之间的关系。

DataRelation对象还引入了一些属性,来强化引用的完整性。

Ⅶ、DataView对象:

一旦获取了DataTable对象中查询的结果,就可以使用DataView对象以不同方式来查看数据。可以使用多个DataView对象在同时查看同一DataTable.

3、  强类型DataSet对象

强类型的DataSet可以帮助简化建立数据访问应用程序的过程。强类型DataSet是Visual Studio中的一个类,Visual Studio建立它的时候,通过其属性使所有的表和列信息都有效。强类型DataSet对象还为入创建新行等属性提供了一些自定义方法。

Connection对象

一、特点介绍

在ADO.NET对象模型中,Connection对象代表了与数据库之间的连接。可以使用Connection对象的属性来指定用户凭据以及数据源的位置。

二、使用介绍

1、基本使用

string strConn=“data source =192.168.1.81;initial catalog =Northwind;persist security info=false; user id=sa;password=;”;

SqlConnection cn = new SqlConnection(strConn);

cn.Open();

……………

cn.Close();

2、连接池

默认情况下使用连接池;

当不想使用时:在Ole DB连接字符串中加入“OLE DB Service=-4”;

在Sql连接字符串中加入“Pooling=false”;

3、与其他对象关系

Ⅰ、创建Commands

string strConn=“………”;

SqlConnection cn=new SqlConnection(strConn);

cn.Open();

SqlCommand cmd = cn.CreateCommand();

Ⅱ、启动事务

string strConn=“………”;

SqlConnection cn=new SqlConnection(strConn);

cn.Open();

SqlTransaction txn = cn.BeginTransaction();

三、属性方法事件介绍

1、属性

⒈ConnectionString: 连接字符串,其中包含源数据库名称和建立初始连接所需的其他参数。默认值为空字符串。只能在Connection未与数据源连接时设置其属性,当连接到数据源时,属性是只读的。

⒉ConnectionTimeOut: 等待连接打开的时间(以秒为单位)。默认值为 15 秒。

⒊Database:当前数据库的名称或连接打开后要使用的数据库的名称。默认值为空字符串。

⒋DataSource:要连接的 SQL Server 实例的名称。默认值为空字符串。

⒌State:ConnectionState值的按位组合。默认值为Closed.

成员名称说明值

Broken与数据源的连接中断。只有在连接打开之后才可能发生这种情况。可以关闭处于这种状态的连接,然后重新打开。

16

Closed连接处于关闭状态。

0

Connecting连接对象正在与数据源连接。

2

Executing连接对象正在执行命令。

4

Fetching连接对象正在检索数据。

8

Open连接处于打开状态。

1

⒍ServerVersion:SQL Server 实例的版本。版本的格式为 ##.##.####,其中前两位是主版本,中间两位是次版本,最后四位是发布版本。该字符串的格式为 major.minor.build,其中 major 和 minor 必须为两位数,build 必须为四位数。

⒎PacketSize: 网络数据包的大小(以字节为单位)默认值为 8192.如果应用程序执行批量复制操作,或者发送或接收大量的文本或图像数据,则使用比默认大小大的数据包可提高效率,因为它可减少网络的读取和写入操作。如果应用程序发送或接收少量信息,则可以将数据包大小设置为 512 字节,该设置足以应付大多数数据传送操作。对于大多数应用程序而言,最好使用默认的数据包大小。

PacketSize 可以是 512 和 32767 字节范围内的一个值。如果该值超出了这个范围,就会产生异常。

2、方法

⒈BeginTransaction:开始数据事务

⒉ChangeDatabase:在一个打开的连接上更改当前数据库

⒊Close:关闭连接

⒋CreateCommand:为当前连接创建一个SqlCommand

⒌Open:打开连接

3、事件

⒈InfoMessage:当 SQL Server 返回一个警告或信息性消息时发生。

当 Sql Server 返回严重度等于或小于 10 的消息时,会激发 InfoMessage 事件。严重度在 11 和 20 之间的消息会引发错误,而严重度超过 20 的消息将导致连接关闭。

⒉StateChange:当连接状态更改时发生。只要Connection对象的State属性值发生变化,该对象的StateChange事件就会被触发。


文章来源:http://blog.csdn.net/solucky2008/archive/2006/08/12/1055434.aspx

转载于:https://www.cnblogs.com/solucky/archive/2006/08/24/484893.html

[导入]+ADO.NET读书笔记系列 一+相关推荐

  1. 密码学读书笔记系列(三):《商用密码应用与安全性评估》

    密码学读书笔记系列(三):<商用密码应用与安全性评估> 思考/前言 第1章 密码基础知识 1.1 密码应用概述 1.2 密码应用安全性评估(密评)的基本原理 1.3 密码技术发展 1.4 ...

  2. 读书笔记系列1——MySQL必知必会

    读书笔记系列1--MySQL必知必会 文章目录 读书笔记系列1--MySQL必知必会 MySQL官方文档:https://dev.mysql.com/doc/ 第一章 数据库基础 *2021.11.2 ...

  3. 《ASP.NET Core In Action》读书笔记系列五 ASP.NET Core 解决方案结构解析1

    <ASP.NET Core In Action>读书笔记系列五 ASP.NET Core 解决方案结构解析1 参考文章: (1)<ASP.NET Core In Action> ...

  4. C#刨根究底:《你必须知道的.NET》读书笔记系列

    一.此书到底何方神圣? <你必须知道的.NET>来自于微软MVP-王涛(网名:AnyTao,博客园大牛之一,其博客地址为:http://anytao.cnblogs.com/)的最新技术心 ...

  5. 密码学读书笔记系列(一):《密码故事——人类智力的另类较量》

    密码学读书笔记系列(一):<密码故事--人类智力的另类较量> 第一章 玛丽女王的密码 第二章 不可破译的密码 第三章 加密的机械化 第四章 破解恩格玛 第五章 语言上的隔阂 第六章 艾丽丝 ...

  6. 《浪潮之巅》读书笔记系列:IBM 蓝色巨人

    <浪潮之巅>读书笔记系列:IBM 蓝色巨人 精彩部分 1.    IBM公司可能是的世界上为数不多的成功逃过历次经济危机,并且在历次技术革命中成功转型的公司. 2.    一个公司创始者的 ...

  7. Missing separate debuginfos, use: debuginfo-install 解决方法如下----笛风读书笔记系列

    读书笔记系列之:Missing separate debuginfos, use: debuginfo-install 解决方法如下                                   ...

  8. Web高级征程:《大型网站技术架构》读书笔记系列

    来源:http://www.cnblogs.com/edisonchou/p/3773828.html 一.此书到底何方神圣? <大型网站技术架构:核心原理与案例分析>通过梳理大型网站技术 ...

  9. 12篇读书笔记系列-1、置身事内

    导语:当今社会短视频横行,导致全民专注力下降:年关将近,我回顾近几年看过的书籍,竟没有一本能简要复述,不能回想起获取了作者的哪些观点,更别提对作者观点的升华:所以,接下来的12本书,我强迫自己静下心来 ...

  10. 大话数据结构读书笔记系列(三)线性表

    2019独角兽企业重金招聘Python工程师标准>>> 3.1 开场白 各位同学,大家好.今天我们要开始学习数据结构中最常用和最简单的一种结构,在介绍它之前先讲个例子. 我经常下午去 ...

最新文章

  1. 支持向量机SVM序列最小优化算法SMO
  2. 李飞飞AI100报告第二弹,提出14大AI机遇与挑战,82页pdf
  3. linux更换网卡不识别_详解Linux双网卡绑定脚本的方法示例
  4. 数据库生成T4模版在代码生成中的应用心得
  5. leetcode 492. 构造矩形(Java版,三种解法)
  6. FPGA(8)--频率计检测控制系统
  7. 移植PPP2.4.5到ARM上实现拨号
  8. InvalidCharacterError: Failed to execute 'setAttribute' on 'Element': ')' is not a valid
  9. Sass--伪类嵌套
  10. Bailian2748 全排列【全排列】(POJ NOI0202-1750)
  11. java日期互转:LocalDateTime、String、Instant、Date
  12. MAC在命令行运行不带窗口的 Emacs -- 比窗口模式占用的资源更少一些
  13. 抖音c语言表白编码,抖音微信表白代码大全 微信表白代码总汇
  14. 穿越计算机的迷雾总结
  15. 高性能内存分配器 jemalloc 基本原理
  16. 安卓逆向 -- AndroidKiller介绍
  17. 英国易捷航空遭黑客入侵 约900万客户数据被窃取
  18. PHP练习6 使用MySQL实现简单身份验证
  19. 网易新闻回答2021:靠差异化内容逆势增长
  20. dump analyze

热门文章

  1. 陕西一本大学计算机专业排名2015,陕西计算机专业大学排名
  2. 基于springboot的贫困帮扶系统
  3. pycharm git使用_通过Pycharm中的版本控制工具VCS使用Git
  4. java 解压文件夹_java新人,在学习解压缩文件时,解压文件后,里面的文件变文件夹...
  5. jq校验输入框值变化时_用jq把span的值实时改变input的val值
  6. IDEA 日常小技巧
  7. jira 6.x 日期设置
  8. 阶段2 JavaWeb+黑马旅游网_15-Maven基础_第5节 使用骨架创建maven的java工程_10idea集成maven插件...
  9. Spring WebFlux 要革了谁的命?
  10. spring中context:property-placeholder