AS P网站建设技术课件作者王晶第07章

上传人:E**** 文档编号:89087442 上传时间:2019-05-17 格式:PPT 页数:67 大小:329KB
返回 下载 相关 举报
AS P网站建设技术课件作者王晶第07章_第1页
第1页 / 共67页
AS P网站建设技术课件作者王晶第07章_第2页
第2页 / 共67页
AS P网站建设技术课件作者王晶第07章_第3页
第3页 / 共67页
AS P网站建设技术课件作者王晶第07章_第4页
第4页 / 共67页
AS P网站建设技术课件作者王晶第07章_第5页
第5页 / 共67页
点击查看更多>>
资源描述

《AS P网站建设技术课件作者王晶第07章》由会员分享,可在线阅读,更多相关《AS P网站建设技术课件作者王晶第07章(67页珍藏版)》请在金锄头文库上搜索。

1、第7章 使用ADO操纵 数据库,机械工业出版社,本章重点,1)ADO对象的功能; 2)ASP对数据库的操纵方法; 3)常用对象的使用。,7.1 ADO 简介,ASP是通过一组统称为ADO(ActiveX Data Object, ActiveX数据对象)的对象模块来操作数据库的。无论是Access、SQL Server、Visual FoxPro、Informix、Oracle、dBase或是其他数据库,只要该数据库具有对应的ODBC或OLE DB驱动程序,ADO对象就能够对其进行操作。,ODBC(Open DataBase Connectivity)提供了一个与产品无关的在前端应用和后端数据

2、库服务器之间的接口,是一种访问数据库的方法。当然,必须在服务器上安装数据库对应的ODBC驱动程序。比如若要实现对SQL Server数据库的访问,就必须安装SQL Server的ODBC的驱动程序;若要实现对Access的数据库的访问,就必须安装Access的ODBC驱动程序等。 OLE DB是应用数据库的对象连接与嵌入方法来实现对各种不同数据库访问。ODBC可访问各种不同的关系型数据库,对于非关系型数据库则无能为力,OLE DB则是对关系型数据库和非关系型数据库均有效的一种数据库访问技术。,7.1.1 基本概念,作为一种既易于使用又可扩展的技术,ADO可以用于向网页添加数据库访问。使用ADO

3、编写的应用程序可以存取在Internet上任何位置的资源。 1、使用ADO访问数据库 目前,Microsoft对应用程序访问各种数据源所使用的方法是OLE DB,OLE DB是一套组件对象模型(COM )接口,但它是相当复杂的。连接应用程序与OLE DB的桥梁就是ADO 。,2、ADO的特点 ADO可以用来建造客户/服务器结构及web的应用,它具有以下的特点: 1)支持批处理(Batch Updating),可以分批处理客户端提出的请求。 2)支持存储过程(Stored Procedures),可以用in/out参数给存储过程输入及输出值,并可以取得存储过程的返回值。 3)可以使用存储过程或批

4、处理SQL指令,传回多组记录集的功能。 在当今提出的各种动态网页(DHTML)解决方案中都强调了与数据库的连接,其实网页接挂后台数据库也是当前的热门应用,在电子商务等领域有着广泛的应用,就是说,如果你不能掌握在ASP中使用数据库,那么你就不能编写出功能强大的ASP应用程序。,3、ADO对象模型 Connection(连接对象):用来建立数据库和ADO程序之间的连接。 Command(命令对象):代表一个命令,可以返回一个Recordset记录集或执行一个操作,并可以嵌入SQL查询,包括对存储过程的调用。 Recordset(记录集对象):表示从数据资源返回的数据行,即由数据库服务器返回的记录集

5、。用来浏览及操作实际数据库内的数据,这是非常重要的一个对象。 Field(字段对象):用来取得一个记录集(recordset)内不同字段的值。 Error对象(错误对象):代表ADO错误。 Parameter对象(参数对象):用于为存储过程或查询提供参数。 Property对象(属性对象):代表数据提供者的具体属性,在ADO对象模型中,最为重要的对象是三个一般对象:Command对象、Connection对象和Recordset对象,通过这三个对象,可以方便地建立数据库连接、执行SQL查询及存取查询的结果。一般情况下,先通过Connection对象建立数据库与应用程序间的连接,然后利用Comm

6、and对象,告诉数据库要进行什么操作:查找、插入、修改还是删除记录。通过Recordset对象则可以方便地操作Command对象返回结果。这三个对象相互之间联系紧密,都非常重要。 除了Command对象可执行数据库的查询,利用Command对象的Execute方法和Recordset对象的Open方法也可执行一个查询,返回一个记录集。,7.2 Connection对象,访问数据库信息的第一步是和数据库源建立连接。ADO提供了Connection对象,用于建立和管理应用程序和数据库之间的连接。 Connection对象是唯一与外界沟通的桥梁,如果是客户/服务器数据库系统,该对象等价于到服务器的实

7、际网络连接。所有Recordset、Command对象与数据库之间的沟通都必须由Connection对象来完成,尽管在创建Command对象和Recordset对象时,并不需要显示地为它们创建一个Connection对象。例如,可以直接创建一个Recordset对象只需要将一些连接信息传递给它,在后台ADO会自动创建一个隐式的Connection对象。,但是,由于在ADO自动创建数据库连接时,会在程序每次访问记录时都打开一个新的数据库连接,这样会严重地影响数据库的性能。通过显式地创建Connection对象,并将它提供给所使用的Command和Recordset对象,只需要一个数据库连接。所以

8、,当需要创建多个Command对象或Recordset对象并将他们连接到同一个数据库上,使用显式的Connection对象是合理的。 可以通过用连接字符串打开ADO的Connection对象来实现与数据库的连接。连接字符串包括数据资源的地址和打开连接的用户安全信息等。Connection对象具有各种属性和方法,可以使用它们打开和关闭数据库连接,并且发出查询请求来更新信息。,7.2.1 Connection对象的创建,在使用Connection对象之前,必须首先创建它。通常调用Server对象的CreateObject方法来创建Connection对象的实例。其语法如下: ,7.2.2 Conn

9、ection对象的方法,Connection对象的方法可以分为两类,第一类是使用Connection对象时所需要使用的方法;第二类是用于对ADO和OLE DB的事务处理进行交互操作。当然,最基本的方法还是在ASP操作中所使用的Open、Close、Execute方法。 1、Open方法 Open方法可以建立一个与数据源的物理连接,在该方法成功完成后,才能对数据源发出命令并处理结果。其语法格式为: Connobject.Open (connectionstring,UserId,Password),其中:Connectstring为可选参数,它是一个字符串变量,包含链接的信息。UserId和Pa

10、ssword为可选参数,用于安全验证的用户名和密码。SQL Server或Oracle等数据库在访问时需要指定这两个参数,而对于Accsee数据库则不需要。,2、Close方法 Close方法用于关闭与数据源的连接,并且释放与连接有关的系统资源。其语法格式为: Connobject.close 其中:Connobject为已经创建的Connection对象。 使用Close方法关闭Connection对象,并没有从内存中删除该对象。因此关闭的Connection对象还可以用Open方法打开而不必再次创建一个Connection对象。此外,在使用Close方法关闭连接时,也将关闭与此连接相关的所

11、有活动的Recordset对象。但是,与此连接相关的Command对象将不受影响,只不过Command对象不再参与这个连接。 为了释放Connection对象所占用的所有资源,可以用下面的命令: Set Connobject = nothing,3、Execute方法 Execute方法用来执行SQL命令或存储过程,以实现与数据库的通讯。其语法为:(有返回记录的格式) Set Rs = Connobject.Execute(CommandText,ReccordAffected,Options) (无返回记录的格式): Connobject.Execute Command,RecordAffe

12、cted,Options 其中,Rs为创建的Recordsed对象;Connobject为已经创建的Connection对象。 CommandType是一个字符串,它包含一个表名,或某个将被执行的SQL语句;RecordAffected为可选参数,返回此次操作所影响的记录数。Options为可选参数,用来指定参数的CommandText参数的性质,即用来指定ADO如何解释CommandText参数的参数值,,【例7-1】 创建一个Connection对象的实例,然后用Connection对象的Open方法打开一个连接,输出数据表Base的表头。 表Base中的字段名 % var conn=Se

13、rver.CreateObject(“ADODB.Connection“); conn.Open(“driver=Microsoft Access Driver (*.mdb);dbq=“ +,Server.MapPath(“student.mdb“); rs=conn.Execute( “select * from base“ ); for (i=0; i“); conn.close(); % ,程序运行结果如图,【例7-2】 以表格的形式输出表Base中全部信息。程序清单7-2.asp: % var conn=Server.CreateObject(“ADODB.Connection“);

14、 conn.Open(“driver=Microsoft Access Driver (*.mdb);dbq=“ + Server.MapPath(“student.mdb“); rs = conn.Execute(“Select * from base“);,Response.write(“); Response.write(“); /输出表头 for (i=0; i“+rs(i).Name+“); Response.write(“); /输出表内容 while (!rs.Eof), Response.write (“); for (i=0; i“ + rs(i) + “); Respons

15、e.write (“); rs.movenext(); Response.write (“); conn.close(); % ,程序运行结果如图,4、Cancel方法 Cancel方法用于取消异步操作中还未执行完成的Execute操作和Open操作。其语法如下: Connection.Cancel() 5、BeginTrans方法 BeginTrans方法用来开始一个新事务或嵌套一个事务。其语法格式如下: Connection.BeginTrans() ADO的一个主要功能就是执行并控制数据源的事务操作,事务可以简单定义为一次操作中对数据库的多次写操作。使用事务处理可以保证数据的完整性,即在

16、一次事务中只有两种情况可能发生,所有的操作都成功或所有的操作都失败。不会出现因某种原因造成一些操作成功,而另外一些操作失败的情形。,6CommitTrans方法 CommitTrans方法用于保存所有改变并结束当前事务。其语法格式如下: Connection.CommitTrans() CommitTrans方法可以将内存缓冲区中的数据写到硬盘中,调用此方法会将对数据源中数据的修改一次性的写入硬盘。 7RollbackTrans方法 RollbackTrans方法的作用和CommitTrans方法的作用正好相反,它用于取消此次事务以来对数据源所做的一切操作,不写入数据源。调用该方法后,来次事务结束。其语法格式如下: Connection. RollbackTrans(),7.2.3 Connection对象的属性,1、CommandTimeout属性 CommandTimeout属性定义了对数据源执行操作的最长时间。默认的时限是30秒.其语法如下: Connection.CommandTimeout 可以使用该属

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号