![第7章网络数据库的访问_第1页](http://file2.renrendoc.com/fileroot_temp3/2021-10/30/d5214e00-c526-4b16-bce9-944cb2431234/d5214e00-c526-4b16-bce9-944cb24312341.gif)
![第7章网络数据库的访问_第2页](http://file2.renrendoc.com/fileroot_temp3/2021-10/30/d5214e00-c526-4b16-bce9-944cb2431234/d5214e00-c526-4b16-bce9-944cb24312342.gif)
![第7章网络数据库的访问_第3页](http://file2.renrendoc.com/fileroot_temp3/2021-10/30/d5214e00-c526-4b16-bce9-944cb2431234/d5214e00-c526-4b16-bce9-944cb24312343.gif)
![第7章网络数据库的访问_第4页](http://file2.renrendoc.com/fileroot_temp3/2021-10/30/d5214e00-c526-4b16-bce9-944cb2431234/d5214e00-c526-4b16-bce9-944cb24312344.gif)
![第7章网络数据库的访问_第5页](http://file2.renrendoc.com/fileroot_temp3/2021-10/30/d5214e00-c526-4b16-bce9-944cb2431234/d5214e00-c526-4b16-bce9-944cb24312345.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、7.1 ODBC与数据源操作与数据源操作7.2 使用使用ADO访问数据库访问数据库7.3 使用使用Connection对象访问数据库对象访问数据库7.4 使用使用Command对象访问数据库对象访问数据库7.5 使用使用Recordset对象访问数据库对象访问数据库7.6 Recordset对象的集合与使用对象的集合与使用7.7 实例教学实例教学小结小结7.1.1 ODBC概述概述7.1.2 创建创建ODBC数据源数据源7.2.1 ADO概述概述7.2.2 ADO对象的结构对象的结构7.3.1 Connection对象及其属性对象及其属性7.3.2 Connection对象的方法对象的方法7.
2、3.3 Connection对象应用举例对象应用举例7.4.1 Command对象及其属性对象及其属性 7.4.2 Command对象的方法对象的方法7.5.1 Recordset对象及其属性对象及其属性7.5.2 Recordset对象的常用方法对象的常用方法7.5.3 用用Recordset对象维护数据库对象维护数据库7.6.1 Recordset对象的集合对象的集合7.6.2 Recordset对象的使用对象的使用 通常每种数据库都提供了自己的编程接口,通常每种数据库都提供了自己的编程接口,Microsoft开发了一套用于开发数据库系统应用程开发了一套用于开发数据库系统应用程序的编程接口
3、规范(序的编程接口规范(API),即),即ODBC(Open Database Connectivity,开放数据库互连),开放数据库互连),ODBC是目前最流行的连接数据源的方法之一,是目前最流行的连接数据源的方法之一,它是数据库服务器的一个标准协议,它向访问网它是数据库服务器的一个标准协议,它向访问网络数据库的应用程序提供一种通用的语言。无论络数据库的应用程序提供一种通用的语言。无论对于本地数据库还是对于本地数据库还是C/S或或B/S数据库管理系统,数据库管理系统,只要系统中有相应的只要系统中有相应的ODBC驱动程序,就可以通驱动程序,就可以通过过ODBC与之连接并访问数据库中的信息。与之
4、连接并访问数据库中的信息。 应用程序通过应用程序通过ODBC定义的接口与驱动程定义的接口与驱动程序管理器通信,驱动程序管理器选择相应序管理器通信,驱动程序管理器选择相应的驱动程序与指定的数据库进行通信。只的驱动程序与指定的数据库进行通信。只要系统中有相应的要系统中有相应的ODBC驱动程序,任何驱动程序,任何程序都可以过程序都可以过ODBC操纵驱动程序的数据操纵驱动程序的数据库。库。 要与要与ODBC兼容的数据库进行连接,必须兼容的数据库进行连接,必须建立一个称为建立一个称为Data Source Name(DSN,数据源名数据源名)的数据源,通过该的数据源,通过该DSN定位和标定位和标识指定的
5、识指定的ODBC兼容数据库。兼容数据库。 数据源包含了用户安全性、数据库定位和数据源包含了用户安全性、数据库定位和连接参数等与数据库进行连接的信息。也连接参数等与数据库进行连接的信息。也就是说,就是说,DSN是一个代表是一个代表ODBC连接的符连接的符号,它隐藏了诸如数据库文件名、所在目号,它隐藏了诸如数据库文件名、所在目录、数据库驱动程序、用户录、数据库驱动程序、用户ID、密码等细、密码等细节。所以,当建立连接时,不必考虑数据节。所以,当建立连接时,不必考虑数据库文件名或位置,只要给出它在库文件名或位置,只要给出它在ODBC中中的的DSN即可。即可。 DSN分为三种类型:用户分为三种类型:用
6、户DSN、系统、系统DSN和文件和文件DSN。 1User DSN(用户(用户DSN):只能以指定):只能以指定的用户安全身份证明(用户名和密码)连的用户安全身份证明(用户名和密码)连接到指定的数据库。接到指定的数据库。 2System DSN(系统(系统DSN):所有用户):所有用户都能够连接到指定的数据库。都能够连接到指定的数据库。 3File DSN (文件文件DSN):将连接的情况存:将连接的情况存储在一个文件中,只有对该文件有访问权储在一个文件中,只有对该文件有访问权限的用户才能连接到指定的数据库。限的用户才能连接到指定的数据库。 用户和系统用户和系统DSN信息存放在信息存放在Win
7、dows的注的注册表中。册表中。一、一、DSN包含信息包含信息 要通过要通过ODBC访问数据库,必须配置好访问数据库,必须配置好DSN。一。一个个DSN必须包含以下信息:必须包含以下信息: 1DSN的名字:应用程序访问数据库时,向系统的名字:应用程序访问数据库时,向系统传递的名字,不是实际的数据库名。传递的名字,不是实际的数据库名。 2ODBC驱动程序:在对数据库进行操作时,系驱动程序:在对数据库进行操作时,系统需要调用相应的统需要调用相应的ODBC驱动程序来提供服务。驱动程序来提供服务。 3要连接的数据库或数据库服务器的名称:指定要连接的数据库或数据库服务器的名称:指定连接的数据库。使应用程
8、序知道通过连接的数据库。使应用程序知道通过ODBC访问访问的是哪个数据库或数据库服务器的名称。的是哪个数据库或数据库服务器的名称。 二、创建和配置二、创建和配置ODBC数据源数据源 在在Windows NT/2000中,设定中,设定Web服务器使用的服务器使用的数据源名称(数据源名称(DSN)时,必须建系统)时,必须建系统DSN,才能,才能确保所有的确保所有的Web用户都可以使用该用户都可以使用该DSN连接到指连接到指定得数据库。定得数据库。 下面以网上商店中所用的数据库下面以网上商店中所用的数据库NetShop为例,为例,建立建立ODBC数据源的步骤:数据源的步骤: 1单击单击“开始开始/设
9、置设置/控制面板控制面板”(或双击桌面上(或双击桌面上“我的电脑我的电脑”图标,并双击随之出现的图标,并双击随之出现的“控制面控制面板板”图标),出现图标),出现“管理工具管理工具”图标。双击图标。双击“管管理工具理工具”图标,出现图标,出现“管理工具管理工具”对话框。对话框。 2双击双击“数据源(数据源(ODBC)”图标,出现图标,出现图图7-1所示的所示的“ODBC数据源管理器数据源管理器”对话对话框。显示框。显示“用户用户DSN”选项卡、选项卡、“系统系统DSN”选项卡和选项卡和“文件文件DSN”选项卡,选择选项卡,选择“系统系统DSN”选项卡。在该窗口的选项卡。在该窗口的“系统数据源系
10、统数据源”列表中显示该系统中已安装的列表中显示该系统中已安装的ODBC数据数据源的名称。当要建立的数据源不存在时,源的名称。当要建立的数据源不存在时,则单击则单击“添加添加”按钮添加需要的数据源。按钮添加需要的数据源。存在,则用选中一个数据源后单击存在,则用选中一个数据源后单击“配置配置”按钮,对该数据源进行重新设置。按钮,对该数据源进行重新设置。 3单击单击“添加添加”按钮,将出现如图按钮,将出现如图7-2所示的所示的“创建新数据源创建新数据源”对话框。因为本书中要连接的对话框。因为本书中要连接的数据库是由数据库是由SQL Server创建的,故选择列表框中创建的,故选择列表框中的的“SQL
11、 Server”,然后单击,然后单击“完成完成”按钮。出按钮。出现图现图5-3所示的所示的“建立新的数据源到建立新的数据源到SQL Server”对话框第一页。对话框第一页。 4在图在图7-3中的中的“名称名称”一栏中为数据源设置一一栏中为数据源设置一个名称(个名称(DSN),输入网上商店所使用的数据源),输入网上商店所使用的数据源名称为名称为 NetShopsource;在;在“服务器服务器”下拉式下拉式列表框中选择或者键入列表框中选择或者键入SQL Server数据库服务器数据库服务器的名称。但要注意:必须确保在本地或与之相连的名称。但要注意:必须确保在本地或与之相连的网络中存在着可以连接
12、的的网络中存在着可以连接的SQL Server 服务器,服务器,才能建立才能建立SQL Server 数据源,否则,在其后的数据源,否则,在其后的连接中将出现错误。连接中将出现错误。 5单击单击“下一步下一步”按钮,出现如图按钮,出现如图7-4所示的所示的“建立新的数据源到建立新的数据源到SQLServer ”对话框第二页。对话框第二页。选择登陆认证方式,选择登陆认证方式,Windows NT或或SQL Server认证,输入登陆名和密码。认证,输入登陆名和密码。 6单击单击“下一步下一步”按钮,如果连接成功,系统将按钮,如果连接成功,系统将出现如图出现如图5-5所示的所示的“建立新的数据源到
13、建立新的数据源到SQL SERVER”对话框第三页。在图对话框第三页。在图7-5中,在中,在“更改更改默认的数据库为默认的数据库为”下拉式列表框中设置要连接的下拉式列表框中设置要连接的默认数据库,并选择适当的默认数据库,并选择适当的ANSI标识。如果标识。如果SQL数据库连接失败,系统将会给出相关出错信息根数据库连接失败,系统将会给出相关出错信息根据出错的内容,检查据出错的内容,检查SQL服务器是否存在或相关服务器是否存在或相关的设置是否正确。的设置是否正确。 7单击单击“下一步下一步”按钮,出现如图按钮,出现如图5-6所所示的示的“建立新的数据源到建立新的数据源到SQL SERVER”对话框
14、第四页。在图对话框第四页。在图7-6中设置消息的语言,中设置消息的语言,选择一种字符转换方式,设置好日志文件选择一种字符转换方式,设置好日志文件的存储文件。在该对话框中一般采用系统的存储文件。在该对话框中一般采用系统的默认设置即可。的默认设置即可。 8单击单击“完成完成”按钮,出现如图按钮,出现如图7-7所示所示的的“ODBC MICROSOFT SQL SERVER安安装装”对话框。在图对话框。在图7-7中给出了配置该中给出了配置该DSN所使用的参数。所使用的参数。 9单击单击“测试数据源测试数据源”按钮,测试数据源按钮,测试数据源连接是否正确。如果连接是否正确。如果DSN创建正确,则得创建
15、正确,则得到图到图5-8所示的所示的“SQL SERVER ODBC数数据源测试据源测试”的测试成功对话框。单击的测试成功对话框。单击“确确定定”按钮关闭测试结果对话框,最后单击按钮关闭测试结果对话框,最后单击“确定确定”按钮,完成按钮,完成SQL SERVER 数据源数据源的建立工作,系统返回图的建立工作,系统返回图7-1所示的所示的“ODBC数据源管理器数据源管理器”对话框,但对话框,但“系系统统DSN”的列表框中增加了一个名为的列表框中增加了一个名为“NetShopSource”的数据源。的数据源。 在静态网页中,访问数据库一般是通过公在静态网页中,访问数据库一般是通过公用网关接口用网关
16、接口(CGI)来实现的,但这种方法开来实现的,但这种方法开发困难,而且在出现较大并发请求时会显发困难,而且在出现较大并发请求时会显著降低服务器的运行效率。而在动态网页著降低服务器的运行效率。而在动态网页或动态站点中,采用或动态站点中,采用ASP内嵌的内嵌的database access组件就能较好的通过组件就能较好的通过ADO(ActiveX Data Objects)访问存储在服务器端的数据访问存储在服务器端的数据库信息。库信息。 在在ASP脚本中可以通过三种方式访问数据库:脚本中可以通过三种方式访问数据库: 1IDC(Internet Database Connector):它):它是传统
17、的数据库查询工具,用来定义和执行数据是传统的数据库查询工具,用来定义和执行数据库查询的库查询的SQL命令,并向浏览器返回一个指定数命令,并向浏览器返回一个指定数据格式的页面。使用据格式的页面。使用IDC访问数据库十分简单,访问数据库十分简单,几乎不需要编程就能实现对数据库的访问。但几乎不需要编程就能实现对数据库的访问。但IDC缺乏灵活性,它只是简单的创建缺乏灵活性,它只是简单的创建IDC文件文件(.idc)和)和HTML扩展文件(扩展文件(.htx)两种文件,然)两种文件,然后等待后等待IDC文件被请求,来完成数据库的访问与文件被请求,来完成数据库的访问与输出任务。因此这种方式限制了对数据库的
18、交互输出任务。因此这种方式限制了对数据库的交互控制,同时控制,同时IDC还缺少游标。还缺少游标。 2ADO(ActiveX Data Objects,ActiveX数据数据对象):对象):ADO是微软提供的可对各种类型数据库是微软提供的可对各种类型数据库进行操作的最简单、最有效和功能最强大的方法,进行操作的最简单、最有效和功能最强大的方法,它是一种功能强大的数据访问编程接口,从而使它是一种功能强大的数据访问编程接口,从而使得大部分数据源可编程的属性得以直接扩展到你得大部分数据源可编程的属性得以直接扩展到你的的Active Server页面上。页面上。ADO把大部分的数据把大部分的数据库操作封装
19、到库操作封装到7个对象中,在个对象中,在ASP页面中编程调页面中编程调用这些对象执行相应的数据库操作。用这些对象执行相应的数据库操作。ADO是是ASP技术的核心。技术的核心。 ADO不支持数据的远程操作,不支持数据的远程操作,ADO只能执行查询只能执行查询并返回数据库的查询结果,这种结果是并返回数据库的查询结果,这种结果是“静态静态的的”,即客户端需要修改数据库中的数据,必须,即客户端需要修改数据库中的数据,必须通过响应的通过响应的SQL语句提出修改数据请求,才能修语句提出修改数据请求,才能修改服务器端数据库中的内容。改服务器端数据库中的内容。 3RDS(Remote Data Server远
20、程数据远程数据服务):服务):RDS是是IIS4 .0中提出概念,它是中提出概念,它是由由ASP中原来的中原来的Advanced Data Connector(ADC)发展而来的,发展而来的,RDC与与ADO集成在一起,使用相同的编程模型,集成在一起,使用相同的编程模型,提供访问远程数据库的功能。提供访问远程数据库的功能。 RDS支持数据的远程操作,能够执行查询支持数据的远程操作,能够执行查询并返回数据库的查询结果,并且该结果是并返回数据库的查询结果,并且该结果是“动态的动态的”,即先把服务器端的数据搬到,即先把服务器端的数据搬到客户端,在客户端修改数据后,调用数据客户端,在客户端修改数据后,
21、调用数据库的更新命令就可将客户端修改的数据写库的更新命令就可将客户端修改的数据写回服务器端的数据库中。由于回服务器端的数据库中。由于RDC与与ADO是集成的,是集成的,RDS的低层是通过调用的低层是通过调用ADO来来完成的。完成的。RDS在的在的ADO基础上通过绑定的基础上通过绑定的数据显示和操作控件。数据显示和操作控件。 OLE DB(Object Linking & Embedding Database)和和ADO是是Microsoft公司为适应网络迅公司为适应网络迅速发展的需要而开发的最新数据访问编程接口。速发展的需要而开发的最新数据访问编程接口。Microsft公司已把公司已把
22、OLE DB 定位为定位为 ODBC(Ppen Database Connectivity)的继承者。)的继承者。ODBC是是基于基于SQL的,主要用于处理关系型数据库,可以的,主要用于处理关系型数据库,可以很好地用于关系型数据库的访问,但对于非关系很好地用于关系型数据库的访问,但对于非关系型数据库就无能为力。而型数据库就无能为力。而OLE DB作为一个最新作为一个最新的数据库访问接口,除提供对关系数据库的访问的数据库访问接口,除提供对关系数据库的访问之外,还可以访问非关系型数据库和其他的一些之外,还可以访问非关系型数据库和其他的一些资源,如象资源,如象excel电子表格中的数据库、访问电子电
23、子表格中的数据库、访问电子邮件等。邮件等。 ADO 是一个是一个OLE DB使用者,在使用者,在ASP中,中,可以使用可以使用ADO通过通过OLE DB的数据库驱动的数据库驱动程序直接访问数据库。也可以编写脚本来程序直接访问数据库。也可以编写脚本来连接到连接到ODBC兼容的数据库,这样兼容的数据库,这样ASP程程序员就可以访问任何与序员就可以访问任何与 ODBC兼容的数据兼容的数据库,包括库,包括SQL Server、oracle、access等。等。 在在ASP 中,如果不作说明,使用中,如果不作说明,使用ADO访问访问数据库将默认为数据库将默认为OLE DB的的ODBC驱动程序,驱动程序,
24、但也可以通过但也可以通过OLE DB的其他数据库驱动程的其他数据库驱动程序直接帮定到指定的数据库。序直接帮定到指定的数据库。 ADO对象通过对象通过OLE DB从对应的数据库从对应的数据库中取得所需要的数据中取得所需要的数据后,在服务器端生成后,在服务器端生成相应的相应的ASP网页后,网页后,通过通过Internet将用户将用户所需的网页传送到用所需的网页传送到用户浏览器中显示处理。户浏览器中显示处理。其流程如图其流程如图7-9所示。所示。 ADO由由Connection、Command、Recordset、Field、Property、Parameter、Error七个对象和七个对象和Pro
25、perties、 Parameters、 Fields、 Errors四个集合组四个集合组成。成。 一、一、ADO的七个对象的七个对象 1Connection对象(连接对象):是对象(连接对象):是ADO的首的首要对象,它建立要对象,它建立ASP与指定数据库的连接,在数与指定数据库的连接,在数据库的任何操作之前都需要建立一个据库的任何操作之前都需要建立一个Connection对象。对象。Connection对象是对象是ADO的基础。的基础。 2Command对象(命令对象):负责对数据库对象(命令对象):负责对数据库提供请求,即传递指定的提供请求,即传递指定的SQL命令。它定义对数命令。它定义
26、对数据源所执行的命令,可以接受据源所执行的命令,可以接受SQL命令、表的名命令、表的名称和存储过程的名称。通过对称和存储过程的名称。通过对SQL服务器的查询服务器的查询和存取及存储过程的调用,和存取及存储过程的调用,Command对象有强对象有强大的数据库访问能力,既可以完成对数据库的插大的数据库访问能力,既可以完成对数据库的插入、删除和更新等无需返回结果的操作,也可使入、删除和更新等无需返回结果的操作,也可使用用Select语句返回一个记录集。语句返回一个记录集。 3Recordset对象(数据集对象):用来管理对象(数据集对象):用来管理某个查询返回的记录集以及记录集中的游标。可某个查询返
27、回的记录集以及记录集中的游标。可以在非显式建立以在非显式建立Command对象的情况下,直接对象的情况下,直接打开一个带查询的结果集。或是对应着打开一个带查询的结果集。或是对应着Connection对象的查询返回结果集。对象的查询返回结果集。 4Field对象(属性对象):指定对象(属性对象):指定Recordset对对象的数据字段。每个象的数据字段。每个Field对象对应对象对应Recordset对对象中的一个列。通过该对象可以取得一个记录集象中的一个列。通过该对象可以取得一个记录集内不同列的值。内不同列的值。 5Property对象对象(属性对象属性对象):一个:一个ADO对象一对象一般包
28、含两种类型的属性:固有属性和动态属性。般包含两种类型的属性:固有属性和动态属性。固有属性不作为固有属性不作为Property对象出现在对象出现在Properties集合中,当创建集合中,当创建ADO对象后,这些属性可立即使对象后,这些属性可立即使用,如用,如 Recordset对象的对象的EOF和和BOF属性。而动属性。而动态属性则由数据提供者定义,这些属性包含在态属性则由数据提供者定义,这些属性包含在Properties集合中。集合中。 6Parameter对象对象(参数对象参数对象):代表:代表SQL存储过程或有参数查询中的一个参数,用存储过程或有参数查询中的一个参数,用来传递参数给指定的
29、来传递参数给指定的SQL查询。查询。 7Error对象对象(错误对象错误对象):负责记录连接过:负责记录连接过程中所发生的错误信息。每个错误出现时,程中所发生的错误信息。每个错误出现时,一个或多个一个或多个Error对象被放到对象被放到Connection对象的对象的Errors集合中。集合中。 二、二、ADO的四个集合的四个集合 1Properties集合:用来保存与集合:用来保存与Connection、Command、Recordset和和Field对象有关的各个对象有关的各个Property对象。对象。 2Parameters集合:包含了集合:包含了Command对对象的所有象的所有Pa
30、rameter对象。对象。 3Fields集合:该集合关联着一个集合:该集合关联着一个Recordset对象的所有列。记录集中返回的对象的所有列。记录集中返回的每一列在每一列在Fields集合中都有一个相关的集合中都有一个相关的Field对象。对象。 4Errors集合:包含响应单个失败时产生集合:包含响应单个失败时产生的所有的所有Errors对象。对象。三、三、ADO对象与数据集合之间的关系对象与数据集合之间的关系ADO的七个对象和四个数据集合之间的关系如图的七个对象和四个数据集合之间的关系如图7-10所示。所示。 从图中可以清楚地了解对象与数据集合之间的关从图中可以清楚地了解对象与数据集合
31、之间的关系。系。Connection对象与对象与Command对象可以通过对象可以通过Execute操作方法产生操作方法产生Recordset对象;对象;Recordset对象可以通过对象可以通过Fields数据集合取得数据集合取得Field对象的值;对象的值;Connection对象也可通过对象也可通过Error数据集合得到数据集合得到ADO操作错误出现的操作错误出现的Error对象;对象;Recordset对象与对象与Command对象可以通过对象可以通过ActiveXConnect属性设置属性设置connection对象;对象;Recordset对象可以通过对象可以通过Source属性设
32、置属性设置Command对象;对象;Command对象可以通过对象可以通过Parameter数据集合得到数据集合得到Parameter对象的值。对象的值。 当需要对服务器端的数据库进行操作时当需要对服务器端的数据库进行操作时,首先应与首先应与服务器端的数据库建立连接。服务器端的数据库建立连接。Connection对象负对象负责与数据库实际的连接动作,其他的对象如责与数据库实际的连接动作,其他的对象如Command、Recordset、Field、Property、Parameter、Error对象都必须依赖对象都必须依赖Connection对象的连接才能发挥作用。在对象的连接才能发挥作用。在A
33、DO所提供的七个所提供的七个对象中只有对象中只有Connection、Command、Recordset需要使用需要使用ASP所提供的所提供的Server对象的对象的CreateObject方法来建立。方法来建立。 一、创建一、创建Connection对象对象 在使用在使用Connection对象前,必须调用对象前,必须调用Server. CreateObject方法创建该对象。方法创建该对象。 格式:格式: 例如,例如, 二、二、Connection对象的属性对象的属性 通常在连接数据库之前需要对通常在连接数据库之前需要对Connection对象的对象的属性进行必要的设置,以便对连接进行行配
34、置。属性进行必要的设置,以便对连接进行行配置。 1Attributes属性:用于定义属性:用于定义Connection对象对象的事务处理方式,控制事务成功或失败后的事务处理方式,控制事务成功或失败后Connection对象向数据库写数据的方式。该属性对象向数据库写数据的方式。该属性设置为设置为AdXactCommitRetaining,即保留提交,即保留提交,也就是在成功调用也就是在成功调用CommitTrans方法,且数据被方法,且数据被写入数据库后,自动启动一个新事务。该属性设写入数据库后,自动启动一个新事务。该属性设置为置为AdXactCommitRetaining,即保留取消,即保留取
35、消,也就是在成功调用也就是在成功调用RollbackTrans方法,且事务方法,且事务被取消后,自动启动一个新事务。如果想同时达被取消后,自动启动一个新事务。如果想同时达到以上两种效果,则可以将该属性的值设置为到以上两种效果,则可以将该属性的值设置为AdXactCommitRetaining与与AdXactCommitRetaining之和。之和。 2CommandTimeOut属性:用于设置属性:用于设置Connection对象的对象的Execute方法执行命令方法执行命令时的最长等待时间。默认值为时的最长等待时间。默认值为30秒。如果秒。如果CommandTimeOut属性设为属性设为0,
36、系统会一,系统会一直等到运行结束为止。直等到运行结束为止。 格式:格式:connection. CommandTimeOut=秒数秒数 3ConnectionString属性:用来设置与数据源属性:用来设置与数据源进行连接的信息。包括参数有:进行连接的信息。包括参数有: (1)Provider:指定用于连接的数据提供者的。:指定用于连接的数据提供者的。Microsoft SQL Server使用的是使用的是SQLOLEDB.1。 (2)Data Source/DSN:指定需连接的数据源名:指定需连接的数据源名称。称。 (3)User ID / UID:指定打开这个连接的用户:指定打开这个连接的
37、用户ID(身份标识身份标识)。 (4)Password / PWD:指定连接到数据库的用:指定连接到数据库的用户密码。户密码。 (5)File Name:指定连接到的数据文件名。该:指定连接到的数据文件名。该属性不能与属性不能与Provider同时设置。同时设置。 (6)Initial Catalog:指定要连接的数据库名称。:指定要连接的数据库名称。与与Provider一起使用。一起使用。 (7)Driver:指定数据源驱动程序的名称。:指定数据源驱动程序的名称。Microsoft SQL Server使用使用SQL Server。 (8)Server:指定数据源服务器的名称。:指定数据源服
38、务器的名称。 (9)Database:指定要连接的数据库的名称。:指定要连接的数据库的名称。与与Driver、Server一起使用。一起使用。 每一个项目以每一个项目以“参数名参数名=值值”的形式存放在该属性的形式存放在该属性中,项目与项目之间使用中,项目与项目之间使用“;”号分隔。号分隔。 如,如,。ConnectionString属性在连接之前可读属性在连接之前可读写,但建立连接后,后该属性为只读。写,但建立连接后,后该属性为只读。 4ConnectionTimeOut属性:用于设置属性:用于设置Connection对象的对象的Open方法打开数据库方法打开数据库连接时的最长等待时间。单位
39、是秒,默认连接时的最长等待时间。单位是秒,默认值为值为15秒。如果希望没有时间限制,则可秒。如果希望没有时间限制,则可以将其设置为以将其设置为0。 格式:格式:connection. ConnectionTimeOut=秒数秒数 例如,下面的脚本设置例如,下面的脚本设置ConnectionTimeOut属性值,在放弃连接属性值,在放弃连接尝试并发错误信息之前等待尝试并发错误信息之前等待30秒:秒: 5DefaultDatabase属性:设置属性:设置Connection对象连接时默认的数据库。如对象连接时默认的数据库。如果存在默认数据库,果存在默认数据库,SQL查询字串中不需查询字串中不需再指
40、定所操作的数据库,再指定所操作的数据库,ADO对象自动使对象自动使用本属性所设置的数据库。当需要访问其用本属性所设置的数据库。当需要访问其他数据库时,可以将他数据库时,可以将DefaultDatabase属性属性设置为该数据库的名称,或直接在设置为该数据库的名称,或直接在SQL查查询命令中指定数据库,如询命令中指定数据库,如Select * from数数据库名据库名.表名。表名。 格式:格式:connection. DefaultDatabase=数数据库名据库名 6Mode属性:用来设置或返回属性:用来设置或返回Connection对象连接的权限,它的取值如表对象连接的权限,它的取值如表7-
41、1所示。所示。 格式:格式:connection. Mode=modevalue 如,如,设置只读的连接。设置只读的连接。属性值属性值说明说明AdModeUnknown默认值。表明权限尚未设置或无法确定默认值。表明权限尚未设置或无法确定AdModeRead表明权限为只读表明权限为只读AdModeWrite表明权限为只写表明权限为只写AdModeReadWrite表明权限为读表明权限为读/写写AdModeShareDenyRead防止其他用户使用读权限打开连接防止其他用户使用读权限打开连接AdModeShareDenyWrite防止其他用户使用写权限打开连接防止其他用户使用写权限打开连接AdMo
42、deShareExclusive防止其他用户打开连接防止其他用户打开连接AdModeShareDenyDone防止其他用户使用任何权限打开连接防止其他用户使用任何权限打开连接 7Provider属性:用来设置或返回属性:用来设置或返回Connection对象的数据提供者名称。该属对象的数据提供者名称。该属性值由性值由ConnectionString属性或属性或Open方方法的法的ConnectionString参数的内容确定。参数的内容确定。如没有设置该属性如没有设置该属性,则该属性将设置为则该属性将设置为MSDASQL.1表示使用表示使用Microsoft OLE DB Provider f
43、or ODBC连接。连接。 如如% Response.Write The Provider is & con.Provider & %,输出,输出Connection对象的数据提供者名称。对象的数据提供者名称。 1打开与数据库的连接打开与数据库的连接 通常创建通常创建Connection对象后,就可以调用对象后,就可以调用Connection对象对象的的Open方法来建立与数据源的连接,只有与数据源建立了成方法来建立与数据源的连接,只有与数据源建立了成功的连接,功的连接,Connection对象才会存在,才可以通过命令对数对象才会存在,才可以通过命令对数据源进行必要的操作。据源
44、进行必要的操作。 Open方法有以下四种使用方法方法有以下四种使用方法: (1)直接将连接字串传给)直接将连接字串传给Open方法。方法。 (2)利用)利用Connection对象的对象的ConnectionString属性。属性。 (3)直接连接数据库。前两种连接方法必须先用)直接连接数据库。前两种连接方法必须先用ODBC数据数据源管理器来建立一个源管理器来建立一个DSN,如果不想建立,如果不想建立DSN也可以使用也可以使用ASP提供的直接在脚本中指定连接数据库的方法:提供的直接在脚本中指定连接数据库的方法: (4)使用)使用ODBC连接字符串。连接字符串。 2通过打开的连接执行通过打开的连
45、接执行SQL语句语句 在创建在创建Connection对象并将它和一个数据库成功对象并将它和一个数据库成功地建立连接后,用户可以通过连接对象的地建立连接后,用户可以通过连接对象的Execute方法执行方法执行SQL语句或存储过程来直接与语句或存储过程来直接与数据库对话,完成对数据库的插入、更新和删除数据库对话,完成对数据库的插入、更新和删除数据操作,这些操作不返回游标。但当利用数据操作,这些操作不返回游标。但当利用Connection对象查询时返回游标,但只能得到一对象查询时返回游标,但只能得到一个向前读取的游标(只能读且只能向前的游标)。个向前读取的游标(只能读且只能向前的游标)。 格式格式
46、1返回游标集:返回游标集: Set CurRecordSet= Connection.Execute (CommandText,RecordAffected, Options) 格式格式2不返回游标集:不返回游标集:Connection.Execute (CommandText,RecordAffected, Options) 说明:说明: CurRecordSet:用来存放返回数据集的游标名字,是一:用来存放返回数据集的游标名字,是一个可选项。个可选项。 CommandText:是包含表名、:是包含表名、SQL语句或存储过程名称语句或存储过程名称等的一个字符串。等的一个字符串。 Record
47、Affected:是一个可选的变量参数,表示当对数:是一个可选的变量参数,表示当对数据库提出要求时所返回或影响的记录数。例如,若想知道据库提出要求时所返回或影响的记录数。例如,若想知道在执行一个在执行一个SQL语句时到底删除了多少条记录,只需把一语句时到底删除了多少条记录,只需把一个变量传给个变量传给RecordAffected参数,执行完该方法后,通参数,执行完该方法后,通过检查该变量的值便可知道共删除了几个记录。过检查该变量的值便可知道共删除了几个记录。 Options:是一个可选参数,用来指定:是一个可选参数,用来指定CommandText参参数的性质。它的取值如表数的性质。它的取值如表
48、7-2所示。所示。属性值属性值说明说明AdCmdText表明被执行的字符串是一个命令文本表明被执行的字符串是一个命令文本AdCmdTable表明被执行的字符串是一个表名字表明被执行的字符串是一个表名字AdCmdstoredProc表明被执行的字符串是一个存储过程表明被执行的字符串是一个存储过程AdCmdUnknown表明被执行的字符串是未知类型(默认)表明被执行的字符串是未知类型(默认)例如,例如,set rs =con.execute(select * from regist_info)将将表表regist_info中的记录集传给只能读且只能读且只能中的记录集传给只能读且只能读且只能向前的游
49、标向前的游标rs。 3关闭连接关闭连接 当与数据源的连接完成任务后,应调用当与数据源的连接完成任务后,应调用Close方方法来关闭与数据源的连接,以便释放与该连接有法来关闭与数据源的连接,以便释放与该连接有关的系统资源。关的系统资源。 但注意,调用但注意,调用Close方法只是释放与该连接有关方法只是释放与该连接有关的系统资源,而该连接对象本身并没有释放。因的系统资源,而该连接对象本身并没有释放。因此一个关闭的连接对象可以继续使用此一个关闭的连接对象可以继续使用Open方法打方法打开连接,而不再需要重新创建一个连接对象。开连接,而不再需要重新创建一个连接对象。 使用使用Close方法关闭与数据
50、源的连接后,若要释方法关闭与数据源的连接后,若要释放连接对象本身,可给已创建的连接对象赋放连接对象本身,可给已创建的连接对象赋Nothing,将连接对象彻底从内存中清除。,将连接对象彻底从内存中清除。 格式:关闭:连接对象格式:关闭:连接对象.close 释放:释放:set 连接对象连接对象=Nothing 例如,例如,set con=Nothing Command对象用来指定对数据源执行的命对象用来指定对数据源执行的命令,这些命令可以是令,这些命令可以是SQL语句、表或存储语句、表或存储过程。过程。 一、一、Command对象的创建对象的创建 Command对象即可以利用已经创建的对象即可以
51、利用已经创建的Connection对象来创建,也可以不用先创建对象来创建,也可以不用先创建Connection对象就直接使用对象就直接使用Command对象,这对象,这时只需设置时只需设置Command对象的对象的ActiveConnection属性为一个连接字串即可,这时属性为一个连接字串即可,这时ADO将自动创建将自动创建一个隐含的一个隐含的Connection对象,但不会分配一个对对象,但不会分配一个对象变量给它,因此如果多个象变量给它,因此如果多个Command对象要使用对象要使用相同的连接,则应明确的创建并打开一个相同的连接,则应明确的创建并打开一个Connection对象,这应可将
52、连接对象赋给该变量。对象,这应可将连接对象赋给该变量。 创建创建Command对象之前,必须先使用对象之前,必须先使用Server .CreateObject方法创建该对象。方法创建该对象。 格式:格式: 1利用已经创建的利用已经创建的Connection对象来创建对象来创建Command对象对象 2不用先创建不用先创建Connection对象直接使用对象直接使用Command对象对象 二、二、Command对象的属性对象的属性 通常在使用通常在使用Command对象之前需要对对象之前需要对Command对象的属性进行必要的设置,以对象的属性进行必要的设置,以便对该对象进行响应操作。便对该对象
53、进行响应操作。 1ActiveConnection属性:用来设置或返回属性:用来设置或返回Command对象所使用的对象所使用的Connection对象,可以对象,可以将将ActiveConnection属性设置为一个已经存在的属性设置为一个已经存在的Connection对象,也可以是一个包含对象,也可以是一个包含“数据库连数据库连接信息(接信息(ConnectionString)”的字符串参数。的字符串参数。 注意:在执行注意:在执行Command对象的命令之前,必须对象的命令之前,必须先设置先设置ActiveConnection属性,否则将发生错误。属性,否则将发生错误。 格式:命令对象名
54、格式:命令对象名.ActiveConnection=value 例,设置一个已经存在并打开的例,设置一个已经存在并打开的Connection对对象:象: 使用连接字串:使用连接字串: 2CommandText属性:将属性:将command对对象与象与connection对象关联后,可以使用对象关联后,可以使用CommandText属性设置为能够完成某个特属性设置为能够完成某个特定功能的定功能的SQL语句或表和存储过程,并在语句或表和存储过程,并在执行执行Command对象的对象的Execute方法来执行方法来执行由由commandText属性值所指定的操作。属性值所指定的操作。 格式:命令对象
55、名格式:命令对象名.commandtext= 命令命令 例如,例如, 3CommandType属性:用来指定属性:用来指定Command对象的类型,在使用中对象的类型,在使用中可根据实际情况设置或读写可根据实际情况设置或读写Command对象的类型。常用的取值如表对象的类型。常用的取值如表7-3所示。所示。 格式:命令对象名格式:命令对象名. CommandType=值值 设置该属性可优化设置该属性可优化commandtext属性的计算。如果该属性值没有设置,属性的计算。如果该属性值没有设置,则则ADO因不知因不知commandtext属性值是属性值是SQL语句、表还是存储过程,语句、表还是存
56、储过程,需要花费时间去识别,这样影响了系统的执行速度。需要花费时间去识别,这样影响了系统的执行速度。属性值属性值说明说明AdCmdText表明表明CommandText是一个是一个SQL串串AdCmdTable表明表明CommandText是一个表是一个表AdCmdstoredProc表明表明CommandText是一个存储过程是一个存储过程AdCmdUnknown表明表明CommandText的命令类型是未知的命令类型是未知(默认)(默认) 4commandtimeout属性:用来设置属性:用来设置command对象的对象的Execute方法的最长执行时间,默认方法的最长执行时间,默认30秒
57、。秒。与与Connection对象的对象的commandtimeout属性一属性一样。样。 格式:命令对象名格式:命令对象名. Commandtimeout=秒数秒数 5Prepared属性:用来设置执行前是否保存命属性:用来设置执行前是否保存命令的编译版本。使用令的编译版本。使用Prepared属性,可使服务器属性,可使服务器在首次执行在首次执行commandText属性中指定查询的结属性中指定查询的结果编译并保存下来。这样会降低首次执行的速度,果编译并保存下来。这样会降低首次执行的速度,但在后续命令的执行过程中,服务器将直接使用但在后续命令的执行过程中,服务器将直接使用已编译好的命令版本,
58、从而提高执行性能。如该已编译好的命令版本,从而提高执行性能。如该属性设置为属性设置为False,则将直接执行,则将直接执行command 对象对象而不创建编译版本。而不创建编译版本。 格式:命令对象名格式:命令对象名. Prepared=布尔类型值布尔类型值 1Createparameter方法:用来创建一个新的方法:用来创建一个新的Parameter对象,并在执行之前加到对象,并在执行之前加到command 对象的对象的parameters集合中。返回值为创建的集合中。返回值为创建的Parameter对象。对象。 Parameter对象表示传递给对象表示传递给SQL语句或存储过程的一个或多个
59、参数。语句或存储过程的一个或多个参数。 格式:格式: Set Parameter对象名对象名=command对象名对象名. CreateParameter(Name,Type,Direction,Size,Value) 说明:说明: Name:用来指定:用来指定Parameter对象的名称,是一个字符串。对象的名称,是一个字符串。 Type:用来指定:用来指定Patameter对象的数据类型,是一个长整型值。对象的数据类型,是一个长整型值。 Direction:用来指定:用来指定Parameter对象的传递方向,是一个长整型值。其取对象的传递方向,是一个长整型值。其取值见表值见表7-4。 Si
60、ze:用来指定:用来指定Parameter对象的最大长度,是一个长整型值。对象的最大长度,是一个长整型值。 Value:用来指定:用来指定Parameter对象值,是一个变体型值。对象值,是一个变体型值。常量名常量名常量值常量值说明说明adparamInput1 默认值,指定参数是输入值默认值,指定参数是输入值adParamoutput2指定参数是输出值指定参数是输出值adParamInputoutput3指定参数既是输入值又是输指定参数既是输入值又是输出值出值adParamReturnValue4指定参数为返回值指定参数为返回值 2Execute方法:用来执行由方法:用来执行由CommandText属性值所指定的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 用智慧谱写幼儿园发展新篇章计划
- 重大建设项目的安全检查计划
- 2025年猫爬架项目发展计划
- 2025年板卧式电除尘器项目合作计划书
- 2025年密封用填料及类似品项目建议书
- 实施均衡发展的人口政策
- 医疗健康管理服务协议
- 艺术品交易与展示项目投资合同
- 担保期权合同
- 西游记中的人物形象赏析与解读
- 浪潮销售在线测评题
- 外研版小学英语1-6年级全册单词表
- 人教版(2024新版)七年级上册英语各单元重点语法知识点讲义
- 安全阀校验标准
- 耳穴压豆课件
- 建筑制图与识图教学课件:第八章 结构施工图
- 湘教版三年级美术下册教案全册
- (高清版)DB15∕T 3585-2024 高标准农田施工质量评定规程
- 试油(气)HSE作业指导书
- 重症监护-ICU的设置、管理与常用监测技术
- 法律顾问服务投标方案(完整技术标)
评论
0/150
提交评论