admin 管理员组

文章数量: 887021


2023年12月17日发(作者:mybatisplus联合主键注解)

ASP Connection对象

Connection对象是与数据提供者进行连接的对象,代表一个打开的与数据源的连接。其他对象都必须在Connection对象的基础上才能发挥作用。Connection对象代表与数据源进行的惟一会话。如果是客户机/服务器模式的数据库系统,该对象可等价于到服务器的实际网络连接。Connection对象除了与数据源连接外,还可通过事务(Transaction)来确保在事务中所有对数据源的变更成功。可以使用ASP内置对象中Server对象的CreateObject方法来创建Connection对象,例如:

Set conn=Object("tion")

1.Connection对象的方法

Connection对象提供了8个用于管理数据库连接的方法,分别是:Open()、OpenSchema()、Execute()、Close()、Cancel()、BeginTrans()、CommitTrans()和RollbackTrans()方法,下面依次对其进行简单介绍。

 Open()

Open方法用于创建与数据源的连接,只有使用了Connection对象的Open方法后,Connection对象才会真正存在,然后才能发命令对数据源产生作用。

例如,如下的示例语句使用ADO的Connection对象,并通过调用Open()方法使用OLE DB方式建立了一个到数据库的连接。

<%

Set conn=Object("tion")

str="Provider=.4.0;Data Source=" & h("")

str

%>

 Execute()

Execute方法可用于执行指定的查询、SQL语句以及存储过程等。一般有两种可用格式,对于非按行返回的命令字符串可使用如下格式:

e CommandText,RecordsAffected,Options

对于按行返回的命令字符串可使用如下格式:

Set recordset=e(CommandText,RecordsAffected,Options)

该方法返回一个Recordset对象。参数CommandText是字符串类型,可以是要执行的SQL语句、表名、存储过程或特定提供者的文本;RecordsAffected是长整型变量,数据提供者将让它返回此次操作所影响的记录数。

例如,如果想知道在执行一个SQL语句后到底删除了多少条记录,可把一个变量传递给RecordsAffected,这样,通过检查该变量的值就可知道删除了多少记录;Options参数表示请求类型,它可以告诉数据源CommandText所代表的是一个SQL

命令、存储过程还是一个表名,它不是必须的。该参数的值及相应的含义如表5-3所示。

表5-3 Options参数的值及含义

常量

adCmdText

adCmdTable

adCmdStoreProc

adCmdUnknown

说明

指示将执行的是一个SQL命令

指示CommandText所代表的是一个表名

此参数表明Execute方法将要执行的是一个数据源知道的存储过程

此参数表明CommandText中的命令类型不清楚

Execute方法可以执行标准的SQL语句命令,如Select(查询提取数据)、Insert(插入数据)、Delete(查询提取数据)、Update(修改数据)、Create

Table(创建表)等操作。

 Close()

创建一个Connection对象后,如果不需要,可以关闭该对象,并最终释放该对象,否则会长期占用系统资源。使用Close方法可以关闭Connection对象,如下所示(假设Conn是一个Connection对象实例):

但使用close方法只是将Connection对象关闭,并没有将其从内存中彻底清除,要将对象从内存中彻底清除,可使用下列语句:

Set Conn=Nothing

如果仅仅调用了close方法,再次使用该对象时不需要重新创建,而在将对象设置为Nothing后,就只有重新创建该对象才能使用。

 Cancel()

使用Cancel方法终止执行异步方法调用(即用adAsyncConnect、adAsyncExecute或adAsyncFetch选项调用的方法)。它的调用语法为:

在表5-4中列出了Object可用于的类型对象,及调用Cancel方法将终止的任务。

表5-4 Object类型对象

对象名称

Command

被终止的任务

Execute

在Cancel方法被调用之前,Execute 方法的Options参数必须被设置为adAsyncExecute或者adAsyncFetch,否则会发生run-time错误。

Connection Execute或Open

在Cancel方法被调用之前,Open方法的Options参数必须被设置为adSyncConnect,Execute方法的Options参数必须被设置为adAsyncExecute或者adAsyncFetch,否则会发生run-time错误。

Record

Recordset

Stream

CopyRecord, DeleteRecord, MoveRecord, 或者 Open

Open

Open

 OpenSchema()

OpenSchema方法可返回Recordset 对象,该对象包含有关数据源的模式信息。例如,schema信息可包括表的名称,表中的列名,每列的数据类型。Recordset将以只读、静态游标模式打开。

 BeginTrans()、CommitTrans()和RollbackTrans()

这三个方法都和Connection对象的事务管理有关。当希望以独立单元保存或取消对源数据所做的所有更新时,需要使用这些方法。例如,在进行资金转帐时,必须从源账户中减去转帐数额,并将同样数额的资金划拨到目标账户,无论其中哪个更新失败,都将导致账户收支不平衡。在打开的事务中使用这些方法可确保要么全部进行更新,要么不做任何更新。

其中,BeginTrans表示开始一个新事务;CommitTrans表示保存所有更改并结束当前事务,它也可能启动新的事务;RollbackTrans方法可取消当前事务中所做的所有更改并结束事务,它也可能启动新事务。

2.Connection对象的属性

Connection对象具有属于自己的11个属性,他们可以设置和获取数据库连接的各种信息,如表5-5所示。

表5-5 Connection对象属性

属性名称

Attributes

CommandTimeOut

ConnectionString

ConnectionTimeOut

CursorLocation

DefaultDatabase

IslationLevel

Mode

Provider

State

Version

说明

包含Connection对象的事务状况

批示在终止尝试和产生错误之前执行命令期间需等待的时间

包含用来和数据源建立连接的字符串

包含连接到数据库的等待最长时间。如果超过此时间,则认为连接失败

包含当前所使用的光标位置

当前连接数据源所使用的默认数据库

包含Connection对象的独立级别

数据的更新许可权

包含Connection对象的数据提供者名称

包含Connection对象的当前状态

包含ADO的版本号

3.Connection对象连接数据库方式

建立ASP程序与数据库的连接可以有多种方式,虽然使用不同方式的连接细节不尽相同,但采用的连接方法都是一样的,即,都需要设置Connection对象的连接字符串ConnectionString(显式或隐式设置),都需要使用Connection对象的Open方法打开连接。在此给出各种常用数据的连接方式供读者参考,如表5-6所示。

表5-6 Connection对象的连接方式

连接方式

Access ODBC

Access OLE DB

MSSql ODBC

MSSql OLE DB

Index Service

ODBC数据源

数据连接文件

Mysql ODBC

Oracle ODBC

Oracle OLE DB

连接字符串描述

“Driver={microsoft access driver(*.mdb)};dbq=*.mdb;uid=admin;pwd=pass;”

“Provider=.4.0;data source=ds;user id=admin;password=pass;”

“Driver={sql server};server=serverName;database=dbname;uid=sa;pwd=pass;”

“Provider=SQLOLEDB;data source=ds;initial catalog=db;

user id=admin;password=pass;”

“Provider=MSIDXS;Data source=catalog_name”

“DSN=dsnName”

“File Name=D:”

“Driver={mysql};database=db;uid=username;pwd=password;option=16386;”

“Driver={Microsoft odbc for oracle};server=;

uid=username; pwd=password;”

“Provider=;data source=ds;user id=userName;password=pass;”


本文标签: 对象 方法 连接