ImageVerifierCode 换一换
格式:DOCX , 页数:42 ,大小:35.48KB ,
资源ID:12027081      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12027081.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第5章 使用数据库.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

第5章 使用数据库.docx

1、第5章 使用数据库下载第5章 使用数据库本章要点: ADO 简介 如何应用A D O使用数据库5.1 ADO 简介在当今提出的多种动态网页 ( DH T M L)解决方案中都强调了与数据库的连接,其实网页接挂后台数据库也是当前的热门应用,在电子商务等领域有着广泛的应用,就是说,如果你不能掌握在A S P中使用数据库,那么你就不能编写出功能强大的 A S P应用程序。A S P用Database Access组件与数据库进行连接,Database Access 组件通过 ActiveX Data Objects (ADO) 访问存储在数据库或其他表格化数据结构中的信息。现在,M i c r o

2、s o f t对应用程序访问各种各样的数据源所使用的方法是 O L E D B,OLEDB 介于O D B C层和应用程序之间。在你的 ASP 页面中,A D O介于O D E D B之上的“应用程序”。你的A D O调用首先被送到O L E D B,接着被送到O D B C层。O L E D B是一套组件对象模型 ( C O M )接口,但它是相当复杂的。这样,你需要一个连接应用程序与 OLE DB的桥梁,这就是A D O。而且,它支持开放式数据库连接 (ODBC) 标准的关系型数据库。其主要优点是易于使用、高速度、低内存支出和占用磁盘空间较少。 ADO 支持用于建立基于客户端 /服务器和

3、Web 的应用程序的主要功能。ADO 提供执行以下操作的方式:5.1.1 连接到数据源连接可以使应用程序访问数据源,这是交换数据所必须的环境。同时,可确定对数据源的所有更改是否已成功或没有发生。使用 C o n n e c t i o n对象实现这一操作。C o n n e c t i o n对象代表与数据源进行的唯一会话。如果是客户端 /服务器数据库系统,该对象可以等价于到服务器的实际网络连接。使用Connection 对象的集合、方法和属性可执行下列操作: 在打开连接前使用 C o n n e c t i o n S t r i n g、C o n n e c t i o n Timeou

4、t 和 Mode 属性对连接进行配置。 设置 CursorLocation 属性以便调用支持批更新的“客户端游标提供者”。 使用 DefaultDatabase 属性设置连接的默认数据库。 使用 IsolationLevel 属性为在连接上打开的事务设置隔离级别。 使用 Provider 属性指定 OLE DB 提供者。 使用 Open 方法建立到数据源的物理连接。使用 Close 方法将其断开。 使用 Execute 方法执行对连接的命令,并使用 C o m m a n d Timeout 属性对执行进行配置。 可使用 B e g i n Tr a n s、C o m m i t Trans

5、 和 R o l l b a c k Trans 方法以及 Attributes 属性管理打开的连接上的事务(如果提供者支持的话则可包括嵌套的事务)。 使用 Errors 集合检查数据源返回的错误。 通过Ve r s i o n属性读取使用中的 A D O执行版本。 使用 OpenSchema 方法获取数据库模式信息。5.1.2 操作数据源连接到数据库后,使用 Command 对象查询数据库并返回 Recordset 对象中的记录,以便执行大量操作或处理数据库结构。使用 Command 对象的集合、方法和属性进行下列操作: 使用 C o m m a n d Text 属性定义命令(例如,SQL

6、 语句)的可执行文本。 通过 Parameter 对象和 Parameters 集合定义参数化查询或存储过程参数。 可使用 Execute 方法执行命令并在适当的时候返回 Recordset 对象。 执行前应使用 C o m m a n d Type 属性指定命令类型以优化性能。 使用 Prepared 属性决定提供者是否在执行前保存准备好(或编译好)的命令版本。 使用 C o m m a n d Timeout 属性设置提供者等待命令执行的秒数。 通过设置 ActiveConnection 属性使打开的连接与 Command 对象关联。 设置 Name 属性将 Command 标识为与 Co

7、nnection 对象关联的方法。 将 Command 对象传送给 Recordset 的 Source 属性以便获取数据。5.1.3 得到数据通过C o m m a n d对象对数据源的操作,返回的记录全集用 Recordset 对象表示。Recordset 对象所指的当前记录均为集合内的单个记录。使用 ADO 时,通过 Recordset 对象可对几乎所有数据进行操作。所有R e c o r d s e t对象均使用记录(行)和字段(列)进行构造。打开 Recordset 时,当前记录位于第一个记录(如果有),并且 BOF 和 EOF 属性被设置为 F a l s e。如果没有记录,B O

8、 F和E O F属性设置是Tr u e。可以使用M o v e F i r s t、M o v e L a s t、MoveNext 和 MovePrevious 方法以及M o v e方法和 A b s o l u t e P o s i t i o n、A b s o l u t e P a g e和F i l t e r属性来重新确定当前记录的位置。当使用M o v e方法访问每个记录(或枚举 R e c o r d s e t)时,可使用B O F和E O F属性查看是否移动已经超过了R e c o r d s e t的开始或结尾。R e c o r d s e t对象可支持两类更新:

9、立即更新和批更新。使用立即更新,一旦调用 Update 方法,对数据的所有更改将被立即写入基本数据源。也可以使用 AddNew 和 Update 方法将值的数组作为参数传递,同时更新记录的若干字段。如果 提供 者支持 批更新 ,可以 使提 供者将 多个记 录的 更改存 入缓存 ,然后 使用UpdateBatch 方法在单个调用中将它们传送给数据库。这种情况应用于使用 A d d N e w、U p d a t e和 Delete 方法所做的更改。调用 UpdateBatch 方法后,可以使用 Status 属性检查任何数据冲突并加以解决。90使用ASP与SQL Server 网站架设下载5.1

10、.4 使用数据Recordset 对象含有由 Field 对象组成的 Fields 集合。每个 Field 对象代表了 Recordset 对象中的一列。使用 Field 对象的 Value 属性可设置或返回当前记录的数据。使用F i e l d对象的集合、方法和属性可进行如下操作: 使用N a m e属性可返回字段名。 使用Va l u e属性可查看或更改字段中的数据。 使用Ty p e、P r e c i s i o n和N u m e r i c S c a l e属性可返回字段的基本特性。 使用 DefinedSize 属性可返回已声明的字段大小。 使用 ActualSize 属性可返

11、回给定字段中数据的实际大小。 使用 Attributes 属性和 Properties 集合可决定对于给定字段哪些类型的功能受到支持。 使用 AppendChunk 和 GetChunk 方法可处理包含长二进制或长字符数据的字段值。 如果提供者支持批更新,可使用 O r i g i n a l Value 和 U n d e r l y i n g Value 属性在批更新期间解决字段值之间的差异。在打开F i e l d对象的R e c o r d s e t前,所有元数据属性( N a m e、Ty p e、D e f i n e d S i z e、 Precision 和N u m e

12、 r i c S c a l e)都是可用的。在此时设置这些属性将有助于动态构造其格式。5.1.5 检测错误A D O对象的操作也会产生一个或多个错误。每个错误出现时,一个或多个 Error 对象将被放到 Connection 对象的 Errors 集合中。当另一个 ADO 操作产生错误时,Errors 集合将被清空,并在其中放入新的 Error 对象集。可以及时地访问这个错误的集合,以便需要的时候进行更正。E r r o r对象的属性可获得每个错误的详细信息,包括以下内容:D e s c r i p t i o n属性,包含错误的文本。N u m b e r属性,包含错误常量的长整型整数值。

13、S o u r c e属性,标识产生错误的对象。在向数据源发出请求之后,如果 Errors 集合中有多个Error 对象,则将会用到该属性。S Q L S t a t e和N a t i v e E r r o r属性,提供来自S Q L数据源的信息。某些属性和方法返回的警告以 Errors 集合中的 Error 对象的方式出现,但并不中止程序的执行。在调用 Recordset 对象的 R e s y n c、U p d a t e B a t c h或C a n c e l B a t c h方法,或C o n n e c t i o n对象的Open 方法,或者在设置 Recordset

14、对象的 Filter 属性之前,可通过调用 Errors 集合的 Clear 方法。这样就可以读取E r r o r s集合的C o u n t属性,并得到所返回的错误信息。A D O通过C o n n e c t i o n对象、C o m m a n d对象、R e c o r d S e t对象来实现上面的操作。A D O的对象模型如下所示:C o n n e c t i o n (对象):E r r o r s (集合)E r r o r (对象)C o m m a n d (对象):P a r a m e t e r s (集合)P a r a m e t e r (对象)R e c

15、 o r d S e t (对象):F i e l d s (集合)F i e l d (对象)其中C o n n e c t i o n对象、C o m m a n d对象、R e c o r d S e t对象和F i e l d对象又分别具有P r o p e r t i e s集合第5章 使用数据库使用91 下载而产生P r o p e r t y对象。下面是以上三大对象的相互关系:C o m m a n d . A c t i v e C o n n e c t i o n - C o n n e c t i o nR e c o r d S e t . A c t i v e C

16、o n n e c t i o n - C o n n e c t i o nC o n n e c t i o n . E x c u t e - R e c o r d S e tC o m m a n d . E x c u t e - R e c o r d S e tR e c o r d S e t . S o u r c e - C o m m a n d下面分别介绍这三个对象。5.2 Connection 对象A S P使用A D O对各种数据源进行各种操作,其中, C o n n e c t i o n对象是必不可少的,我们用C o n n e c t i o n对象与各种数

17、据源进行连接。5.2.1 属性1. CursorLocation属性它的取值有两个,一个是 a d U s e C l i e n t ,一个是a d U s e S e r v e r(默认),前者是使用客户端的游标,而后者是使用服务器端的游标。二着的差别在于 a d U s e C l i e n t游标可以提供供应商所没有提供的额外的属性,因而灵活性更大。需要注意的是 C o n n e c t i o n对象与R e c o r d S e t对象均有此属性,由C o n n e c t i o n对象产生的R e c o r d S e t对象会自动继承这个属性。另外,要让此属性对

18、C o n n e c t i o n和R e c o r d S e t对象的实例起作用的话,必须在打开它们之前先作定义。下面看一个例子:Set conn=Server.CreateObject(ADODB.Connection)c o n n . C u r s o r L o c a t i o n = a d U s e C l i e n tstrConn =driver=SQL Server;server=srv;&_ u i d = s a ; p w d = ; d a t a b a s e = p u b s conn.open strConnset rs= Server.

19、CreateObject(ADODB.RecordSet)rs.open ,conn,采用此种方式则c o n n与r s的游标均为a d U s e C l i e n t了。2. Attributes属性它是C o n n e c t i o n对象的特征,可读写。在C o n n e c t i o n对象中,这个属性可以设置两个值:adXactCommitRetaining 在调用C o m m i t Tr a n s方法后,自动启动新事务adXactAbortRetaining 在调用R o l l b a c k Tr a n s方法后,自动启动新事务3. CommandTi m

20、 e o u t属性C o n n e c t i o n对象命令执行所等待的时间,默认 3 0秒,超过这个时间,将取消操作,可读写。4. ConnectionString属性在使用C o n n e c t i o n对象的O p e n方法打开数据源时,连接参数的字符串,可读写。字符串中包含以下内容:P r o v i d e r O L E D B提供者的名字Data Source 指定数据源的名字92使用ASP与SQL Server 网站架设下载User ID 指定连接数据源时的用户I DP a s s w o r d 指定连接数据源时用户的密码File Name 指定要连接的数据库名

21、字5. ConnectionTi m e o u t属性创建连接时所等待的时间,默认 1 5秒,可读写。6. DefaultDatabase属性当前连接的数据库的缺省名称,可读写。7. Mode属性这个属性指定了打开O L E D B数据处理源时读、写和共享权限。它可以是下列值之一:a d M o d e U n k o w n 未指定权限。a d M o d e R e a d 数据源被只读打开。a d M o d e Wr i t e 数据源被只写打开。a d M o d e R e a d Wr i t e 数据源被只读写打开。a d M o d e S h a r e D e n y

22、R e a d 数据源以共享模式打开;而且不允许其他用户对数据源行读打开。a d M o d e S h a r e D e n y Wr i t e 数据源以共享模式打开;而且不允许其他用户对数据源行写打开。a d M o d e S h a r e E x c l u s i v e 数据源以共享模式打开;而且不允许其他用户对数据源行读写打开。a d M o d e S h a r e D e n y N o n e 数据源以排它模式打开,即不允许共享。8. Ve r s i o n属性返回A D O的版本号。5.2.2 方法1. BeginTrans, CommitTrans, and

23、RollbackTr a n s方法B e g i n Tr a n s方法用于开始一个新事务; C o m m i t Tr a n s方法,在使用这个方法之前,所有事务都在缓冲区,用以提高程序的工作效率,调用这个方法后,数据保存到数据库中;R o l l b a c k Tr a n s方法用于取消当前的事务,就是说取消缓冲区中的数据,不把数据修改保存到数据库中。2. Open,C l o s e方法O p e n方法用来打开一个对象与数据源的连接,而 Cl o s e方法用来关闭一个对象与数据源的连接。O p e n语法为:dbcon.Open Connectionstring,User

24、name,Passwordd b c o n为我们创建C o n n e c t i o n对象;C o n n e c t i o n s t r i n g是连接字符串; U s e r n a m e为用户名;P a s s w o r d为密码。其中C o n n e c t i o n s t r i n g为我们所建立的数据源名,如果我们没有提供这些参数,则 A D O就用第5章 使用数据库使用93 下载下面的参数建立这些参数:P r o v i d e r O L E D B提供者的名字Data Source 指定数据源的名字User ID 指定连接数据源时的用户I DP a s

25、 s w o r d 指定连接数据源时用户的密码File Name 指定要连接的数据库名字C l o s e语法为: d b c o n .Cl o s eC l o s e方法关闭后,d b c o n对象并不消失,只是释放资源。3. Execute方法这个方法来执行一个查询命令,如:dbcon.Execute SQLstr SQLstr是我们建立的查询字符串。下面语句演示E x e c u t e方法的使用: 94使用ASP与SQL Server 网站架设下载注释:释放对象。5.3 Error对象前面讲到了C o n n e c t i o n对象是用于与各类的数据库进行挂接的,但在此过程

26、中将会出现一些不可预测的错误,因而有了 E r r o r这个对象。首先要清楚一个概念, E r r o r对象是在连接数据库时产生的,而并非那些运行时的实时错误。也就是我们常用 On Error Resume Next来忽略的错误。这些错误将在 E r r o r对象中用一个统一的模板来集中处理,后面会给出一个实例。下面先来看E r r o r对象的属性和方法: C o u n t属性:用来统计E r r o r s集合的数目,它的特点与前面讲到的 P r o p e r t y对象的C o u n t对象相同。 C l e a r方法:写法为E r r o r. C l e a r,是用来

27、清除E r r o r s集合中的原有对象的,在统计新的 E r r o r对象时应该先使用此语句。 I t e m方法:用来指定特定的一个错误,语法为 E r r o r. I t e m ( n u m b e r ),其中n u m b e r为一数字。由于I t e m为默认的方法,所以E r r o r ( n u m b e r )的写法与前面的写法是等价的。下面是一段程序,用来列举E r r o r的所有对象。0 T H E NRe s p o n s e .Write connection to datebase cause problem!&FOR i =0 to conn.errors.count-1Re s p o n s e .Write conn.errors.item(i)&N E X TE L S ERe s p o n s e .Write connection to

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1