ADO.NET数据访问技术基础篇一

楔子

    又应了老师那句话,"欠下的是要还的”。前面做机房收费系统不走心,结果现在什么都想不起来:对数据库怎么连接,数据怎么读取简直一脸懵逼。。。简直回到解放前的前奏啊。

简介

    ADO.NET主要用于读取资料来源(即数据库)中的数据,并且允许和不同类型的数据源以及数据库进行交互。ADO.NET可将资料的读取分为不连续的元件,这些元件就是Connection、Command、DataReader、DataSet、DataAdapter和Datatable。ADO.NET是数据库和编程语言进行沟通的接口之一,作为编程语言和数据库之间的接口的还有ODBC、DAO、RDO、OLE DB、ADO(ADO.NET可以看做ADO的土豪版)。ADO.NET可将资料管理的资料存取分成不连续的元件(即Command、DataReader和DataSet等),也可以将这些元件串联使用。在这些元件中,用于资料的存取和管理的元件有提供资料存储管理服务的数据库和DataSet。


Connection

基本概念

    Connection对象是应用程序和数据库进行交互所必须的一个对象Connection对象可以指明应用程序需要来连接的数据库服务器、数据库名字、登录信息(用户名和密码)以及连接数据库所需要的其他参数。Connection对象会被Command对象使用,这样我们就可以知道针对数据库的增删改查是在哪个数据源进行的了。

常用属性

Provider

    制定OLE DB提供者,即数据库。

Open/Close

    使用Open方法建立数据源的物理连接;使用Close方法断开。

Errors

    检查数据源返回的错误。

常用方法

Execute

    执行连接的命令,并且使用CommandTimeout属性对执行进行配置。

Command

基本概念

    在通过Connection对象建立起来应用程序和数据源之间的连接后,我们就可以通过Command对象来执行针对数据源的增删改查四大功能,并返回Recordset对象中的记录。 

常用属性

CommandType

    在执行Command命令前,可通过CommandType属性指定命令类型以砍掉系统对命令类型的识别过程进而优化性能。

Name

    设置Name属性将Command标识为与Connection对象关联的方法。

Parameter

    通过Parameter对象和Parameter集合定义参数化查询或者存储过程参数。

ActiveConnection

    设置ActiveConnection属性,使打开的连接与Command对象关联。

CommandText

    获取或设置对数据库执行的SQL语句。

Connection

    获取或者设置次Command对象使用的Connection对象的名称。

常用方法

Execute

    通过Execute方法执行命令并在既定时刻返回Recordset对象。

ExecuteNonQuery

    执行SQL语句并返回受影响的行数。

ExecuteReader

    执行查询语句,返回DataReader对象。

注意事项

    一、不同的数据提供程序需要使用不同的Command对象,Command对象有四种:SQLCommand、OLEDBCommand、ODBCCommand和OracleCommand;分别对应S的数据源为SQL、OLEDB、ODBC和Oracle。
    二、若相同连接上存在多个Command对象,我们在执行其中一个时,需要使用单独的对应连接或者将其他Command对象的连接断开。

Connection/Command

    一、如果不使用Commanda对象执行查询,需要向Connection对象的Execute方法传递查询字符串;若需要命令文本具有持久性并重新执行,或者使用查询参数的时候,必须使用Command对象进行操作。
    二、如果要使用Connection对象执行命令,可以借Command对象的Name属性给命令制定一个名称,将Command对象的ActiveConnection属性设置为该命令的连接。然后,就可以像发出Connection方法那样发出使用命令的语句,后面可带任何参数(如果有返回行,则后面带Recordset对象。通过设置Recordset属性以便自定义所产生的记录集)。
    三、要执行Command,必须关联Connection对象的Name属性并进行调用;必须将Command的ActiveConnection属性设置为Connection对象。

Recordset

基本概念

    我们可以把Recordset看成一个存储数据库表的表格,和数据库中的表一样,Recordset对象也是有记录和字段组成。

常用属性

AbsolutePage

    设置或者返回一个可以表明当前Recordset对象中的页码的值。

AbsolutePosition

    设置或者返回一个值,该值可以指定Recordset对象中的当前记录的顺序位置(序号位置)。

ActiveCommand

    返回与当前Recordset对象绑定的Command对象。

BOF

    如果当前的记录位置在第一条记录之前,则返回True,否则返回False。

EOF

    如果当前记录的位置在最后的记录之后,则返回True,否则返回False。

Bookmark

    设置或者返回一个书签,该书签用来保存当前记录的位置。

DataMember

    设置或者返回要从DataSource属性所引用的对象中检索的数据成员的名称。

DataSource

    指定一个包含要被表示为Recordset 对象的数据的对象。

Source 

    设置一个字符串值,或一个对Command对象的引用,或者返回一个字符串值,该值可以用来指示Recordset对象的数据源。

State

    返回一个值,该值可以描述Recordset对象的打开、关闭、正在连接、正在执行或者正在取回数据源的状态。

常用方法

AddNew

    创建一条新纪录。

Cancel

    撤销一次执行

CancelUpdate

    撤销对Recordset对象的一条记录所做的更改。

CancelBatch

    撤销一次批更新。

Clone

    创建一个已有Recordset对象的副本。

Close

    关闭一个Recordset对象。

Delete

    删除一条或者一组记录。

GetRows

    把多条记录从一个Recordset对象中拷贝到一个二维数组中。

GetString

    将Recordset作为字符串返回。

Move

    在Recordset对象中移动记录指针。

MoveFirst

    把记录指针移动到第一条记录。

MoveLast

    把记录指针移动到最后一条记录。

MoveNext

    将记录指针移动到下一条记录。

MovePrevious

    将记录指针移动到上一条记录。

Open

    打开一个数据库元素,此元素可提供对标的记录,查询的结果或保存的Recordset的访问。

常用事件

EndOfRecordset

    当试图移动到超过Recordset结尾的行时被触发。

RecordChangeComplete

    在Recordset更改之后被触发。

注意事项

关于Recordset支持的更新

    1、立即更新,一旦调用Update方法,所有更改立即被写入数据库
    2、批更新,provider将缓存多个更改,然后使用UpdateBatch方法将这些缓存的更改一次性写入数据库。

首次打开

    当一个Recordset对象被首次打开时,当前记录指针将指向第一个记录,同事BOF和EOF属性更新为False;若没有记录,BOF和EOF属性为True。

Connection/Command/Recordset

    Connection连接数据库,Command执行对数据库的操作,Recordset存储Command对数据库的执行结果。

自我认识

    前几天发现自己对这些东西如果不先从宏观上学习,对数据库的执行操作简直有种无处下手的感觉,只能先进行一些总结了。后面还有一篇,希望大家能帮我不断学习,谢谢。
感谢您的宝贵时间,谢谢~~~

                          —joker
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 22
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值