《数据库访问组件.ppt》由会员分享,可在线阅读,更多相关《数据库访问组件.ppt(43页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、ASP技术实用教程第9章 数据库访问组件第9章 数据库访问组件学学习目目标:了解对数据库进行操作的三个步骤。使用ODBC数据源和连接字符串连接数据库。掌握Connection对象用法,了解其属性和方法掌握事务处理机制,了解Errors集合与Error对象了解Command对象的属性和方法及其使用方法了解Parameters集合和Parameter对象的用法。了解Recordset对象记录集的结构,掌握Recordset对象的使用方法。第9章 数据库访问组件ADO对象简介对数据库进行操作大致有三个步骤:与数据库建立连接。对已建立连接的数据库执行命令操作。获得执行SQL语句的返回结果并对其进行操作
2、。ADO中所包含的主要对象与这三个步骤相对应Connection对象Command对象Recordset对象。第9章 数据库访问组件Connection对象、Command对象和Recordset对象分别有一个对象的集合,在操作步骤中出现特殊情况或有特殊操作要求时进行处理。对象及其对象集合的关系如图第9章 数据库访问组件Connection对象主要功能是建立与数据库的连接。建立与数据库连接的方式主要有两种:使用ODBC数据源的方式。数据源须是系统数据源。使用连接字符串的方式。在字符串中放入连接的信息,或在建立连接时,将连接信息直接加入到命令中。这种方式的优点是连接信息保留在ASP页面中,便于修
3、改。第9章 数据库访问组件使用ODBC数据源连接使用ODBC数据源方式连接数据库需要先创建一个数据源。创建数据源方法见教程示例创建了数据源后,可用Connection对象连接该数据源了。程序清单 9_1.asp最后一定要关闭连接和记录集并释放占用的资源第9章 数据库访问组件使用连接字符串连接使用Access数据库的连接字符串中包含的连接的信息主要有两点:1.数据库文件所在的位置。2.使用该数据库的驱动程序。连接字符串的一般写法是:strConn=Dbq=数据库文件的物理路径;Driver=Microsoft Access Driver(*.mdb)第9章 数据库访问组件在9_1.asp示例中,
4、如果使用连接字符串建立数据库连接,程序第一步可如下改写:Dim conn Dim strConnstrConn=Dbq=G:Chapter09CompanyDB.mdb;Driver=Microsoft Access Driver(*.mdb)Set conn=Server.CreateObject(ADODB.Connection)conn.Open strConn第9章 数据库访问组件使用包含文件使用包含文件本质上是一种使用连接字符串或使用ODBC数据源方式连接数据库的方法。使用包含连接字符串的包含文件用来存储许多ASP页面需要的连接字符串。连接字符串代码第9章 数据库访问组件在其它ASP
5、页面的顶端加入这一行:其它ASP页面都可以使用该连接字符串,方便更改整个站点都使用的数据连接。程序清单 Connection.asp程序清单 9_2.asp第9章 数据库访问组件Connection 对象的常用属性属性功能描述CommandTimeout设定使用Execute方法运行一条SQL命令的最长时限。ConnectionTimeout 设定Open方法建立数据连接的最长时限。ConnectionString用于设置连接字符串。DefaultDatabase定义连接的默认数据库。Mode建立连接之前,设定对数据库操作权限。Provider设置连接的数据库管理程序。State获取当前链接对
6、象的状态,取0表示关闭,1表示打开。Attributes用于控制事务处理的行为。Version返回ADO对象的版本号第9章 数据库访问组件Connection 对象的常用方法方法功能描述Open建立一个与数据源的连接。Close关闭与数据源的连接,并且释放与连接有关的系统资源。Execute执行 SQL 命令或存储过程。BeginTrans开始一个新的事务。CommitTrans提交事务。RollbackTrans回滚事务。第9章 数据库访问组件Errors集合与Error对象与ADO对象相关的操作可能产生错误,一个错误就是一个Error对象。随着错误的产生,多个 Error 对象被放在Con
7、nection对象的Errors集合中。当另一个 ADO对象操作产生错误时,Errors集合被清空,新的Error 对象集被放在Errors集合中。第9章 数据库访问组件Errors集合的属性和方法:Count属性:返回Errors集合中Error 对象的数目。使用语法为:Connection对象ErrorsCount如果Count=0,表明前面的操作没有错误。如果Count0,表明前面的操作发生了错误。Clear方法:清除Errors集合中的Error对象。其语法为:Connection对象ErrorsClear第9章 数据库访问组件Item方法:对指定的一个错误建立Error对象。其语法为
8、:Set Error对象=Connection对象ErrorsItem(错误索引)错误索引为一个整数,从0至Connection对象ErrorsCount-1。为Errors集合的默认方法,也可写为:Set Error对象=Connection对象Errors(错误索引)第9章 数据库访问组件Error 对象的属性获取错误的详细信息,主要有以下几项属性:Description属性:关于错误的描述,默认属性。Number属性:对错误的编号。Source属性:记录产生错误的对象和原因。NativeError属性:记录数据库服务器的错误信息。HelpContext属性:返回帮助系统的标题ID。Hel
9、pFile属性:返回帮助系统中帮助文件的完整路径程序清单 9_4.asp第9章 数据库访问组件事务处理某银行系统的两个账户间的进行转账。在数据库的层次上,这样的转账操作包括两个步骤:1从源账户中扣除转账的金额。2将转账金额加入目标账户中。转账操作完成要求这两个步骤都成功完成。如果第二个步骤未能成功完成,那么尽管第一个步骤已经成功完成,转账操作也必须被取消,以避免出现账目不相符的情况。第9章 数据库访问组件一个事务作为一个整体由一系列操作组成。事务的成功要求事务中的每个操作都必须成功。如果事务中有一个操作失败,则整个修事务失败。当事务失败时,系统返回到事务开始前的状态。这个取消所有变化的过程称为
10、回滚(rollback)。第9章 数据库访问组件ADO中的实现事务处理:BeginTrans方法用于开始一个新的事务。CommitTrans方法提交事务。RollbackTrans方法用于取消当前的事务。程序清单 9_5.asp第9章 数据库访问组件Command对象用于对数据库执行SQL语句命令操作。Command对象先要确定对哪一个数据库进行操作,所以Command对象依赖于建立数据连接的Connection对象。第9章 数据库访问组件使用Command对象查询时,应先设置活动数据库连接、命令类型和命令文本等属性,然后调用Command对象Execute方法来执行SQL语句或调用存储过程:
11、程序清单 9_6.asp第9章 数据库访问组件Command对象的属性和方法程序清单 9_7.asp属性说明ActiveConnection该属性指定Command 对象的数据连接。CommandType该属性指定命令类型。CommandText该属性定义命令文本。CommandTimeout该属性指定执行命令的时间限制。默认值为30秒。Prepared该属性指示命令执行前是否对命令作预处理。第9章 数据库访问组件Command对象两个常用方法:1Execute方法2CreateParameter方法Execute方法用来执行SQL语句或调用存储过程,以完成对数据库记录的检索、添加、更改和删除
12、任务。根据是否有返回记录集,Execute方法常用的语法格式分为两种:1有返回记录集:Set Recordset对象=Command对象.Execute2无返回记录集:Command对象.Execute第9章 数据库访问组件使用Execute方法前,要对Command对象的一些属性进行设置,其步骤如下:1、设置ActiveConnection属性指明数据连接。2、设置CommandType属性指明命令类型。3、设置CommandText属性定义可执行文本。4、设置CommandTimeout属性确定超时时间。5、使用 Execute 方法执行命令。程序清单 9_8.asp第9章 数据库访问组件
13、Parameters集合与Parameter对象也被称为参数集合和参数对象。一个参数就是一个Parameter对象,若干个Parameter对象组成一个Parameters集合。由Parameter对象组成的Parameters集合为Command对象所有。用于向参数化查询的SQL语句命令传递参数。第9章 数据库访问组件Parameter对象常用的属性属性说明Name参数名称Type参数的数据类型Value参数值Direction参数传递的方向Size参数占用存储空间的大小Attributes指定该参数的性质第9章 数据库访问组件Parameter对象的常用方法:AppendChunk方法用于
14、向已有参数附加二进制或字符数据。为了使用该方法,该Parameter对象Attributes属性需设置为adParamLong第9章 数据库访问组件创建Parameter对象须使用Command对象的CreateParameter方法,CreateParameter 方法的功能是用指定的名称、类型、方向、大小和值创建Parameter对象。格式如下:Set Parameter对象=Command对象.CreateParameter(Name,Type,Direction,Size,Value)Name指定参数的名称。Type指定参数的数据类型。Direction指定Parameter对象类型。
15、Size指定参数值的最大长度。Value指定参数的值。第9章 数据库访问组件使用Parameters集合和Parameter对象进行参数化查询的方法程序清单 9_9.html程序清单 9_9.asp第9章 数据库访问组件Recordset对象保存从数据库中检索出的记录,被称为记录集对象。使用 Recordset 对象可以处理检索出来的数据,还可使用Recordset对象对数据库中的数据进行更改。第9章 数据库访问组件Recordset对象中记录集的结构第9章 数据库访问组件Recordset对象中常用属性属性说明Bof判断记录指针是否移动到了第一条记录之前。Eof判断记录指针是否移动到了最后一
16、条记录之后。RecordCount返回记录集中记录的数目。AbsolutePosition返回Recordset对象中当前记录的顺序位置。MaxRecords限定返回到记录集中的最大记录数。第9章 数据库访问组件Recordset常用方法方法说明MoveFirst使记录指针指向第一行记录。MoveLast使记录指针指向最后一条记录。MovePrevious使记录指针上移一行。MoveNext使记录指针下移一行Move使记录指针指向指定的记录。GetRows从Recordset对象读取一行或多行记录到一个数组中。第9章 数据库访问组件Recordset对象的创建创建Recordset对象的实例可
17、用Connection对象或Command对象的Execute方法。当用Execute方法返回查询结果时,Recordset对象就会被自动创建.语法为:Set Recordset对象=Connection对象.Execute或Set Recordset对象=Command对象.Execute第9章 数据库访问组件另外一种做法是显式创建Connection对象、Command对象和Recordset对象,然后通过对象的属性和方法使之相关联:Dim conn,cmd,myRecordsetSet conn=Server.CreateObject(ADODB.Connection)conn.Open
18、 数据源名或连接字符串“Set cmd=Server.CreateObject(ADODB.Command)cmd.ActiveConnection=conncmd.CommandText=SQL语句 Set myRecordset=Server.CreateObject(ADODB.Recordset)myRecordset.Open cmd程序清单 9_10.asp第9章 数据库访问组件分页显示记录集Recordset对象中与分页功能有关的属性程序清单 9_11.asp属性说明PageSize用于设置或返回每一页中的记录数,默认值为10。PageCount用于返回RecordSet对象包含
19、数据页的总数。AbsolutePage用来设置或返回当前记录所在的页。第9章 数据库访问组件使用Recordset对象更新数据库Recordset对象中数据更新的方法程序清单 9_13.asp方法说明Addnew增加一条记录Delete 删除记录。Update保存当前记录的任何变动。CancelUpdate取消更新第9章 数据库访问组件Fields集合与Field对象Recordset对象包含由Field对象组成的Fields集合。每个Field对象对应于 Recordset 中的一列。通过Fields集合与Field对象可以了解记录集中列的有关详细信息以及对列进行操作。第9章 数据库访问组件
20、Fields集合的常用属性和方法有:Count属性:Fields集合只有这一个属性,指示集合中Field对象的数目。使用语法为:Recordset对象.Fields.CountItem方法:根据字段名或序号返回Fields集合中的Field对象。使用语法为:Recordset对象.Fields.Item(字段名或序号)Recordset对象.Fields(字段名或序号)Recordset对象(字段名或序号)其中序号从0至Count-1。字段的顺序与SQL语句中字段列表的顺序一致。第9章 数据库访问组件Field对象的常用属性程序清单 9_14.aspName返回字段名。Value查看或更改字段
21、中的数据。默认属性。Type字段数据类型Precision字段存放数值的最大位数NumericScale返回字段存放数值的最大值。DefinedSize返回字段声明的长度。ActualSize返回字段中数据的实际长度。Attributes字段属性描述第9章 数据库访问组件本章小本章小结对数据库进行操作大致有三个步骤:与数据库建立连接。对已建立连接的数据库执行命令操作。获得执行SQL语句的返回结果并对其进行操作。ADO中所包含的主要对象与这三个步骤相对应,分别是Connection对象、Command对象和Recordset对象。第9章 数据库访问组件Connection对象的主要功能是建立与数据库的连接。一个事务作为一个整体由一系列操作组成。当事务失败时,系统回滚到事务开始前的状态。Command对象执行SQL语句操作。Command对象的Parameter对象以及Parameters集合可向参数化查询的SQL语句命令传递参数。第9章 数据库访问组件Recordset对象保存从数据库中检索出的记录。在记录集中的记录数目较多时,可使用Recordset对象的属性实现分页显示。还可使用Recordset对象对数据库中的数据进行插入、修改和删除等操作。
限制150内