Connection 对象的方法包括:Open、Execute、Close、Cancel、Save、BeginTrans、CommitTrans、RollbackTrans 等方法。
1.Open方法
Connection对象的Open方法负责创建与数据源的连接,语法如下:
其中ConnectionString 包含用于建立连接数据源的信息,该参数是由分号分隔的一系列argument=value 语句。UserID 包含建立连接时所使用用户名。Password 包含建立连接时所使用密码。Options决定该方法是在连接建立之后(异步)还是连接建立之前(同步)返回。
注意:如果在ConnectionString参数中包括了用户名和密码信息,而同时UserID及Password参数也存在,那么UserID和Password参数将覆盖ConnectionString中指定相应的信息。
在对打开的Connection 的操作结束后,可使用Close 方法释放所有关联的系统资源。关闭对象并非将它从内存中删除;可以更改它的属性设置并在以后再次使用Open 方法打开它。要将对象完全从内存中删除,可将对象变量设置为Nothing。
在创建连接时,由于数据库的不同,Connection 参数的设置也有所不同:
对于在“ODBC 数据源控制面板”中设置过的数据源,该参数设置比较简单,可以使用“DSN=数据源名称”的格式;
对于没有设置过的,则可以采用指定ODBC 驱动程序设置,在Windows 系统目录下的Odbc.ini 文件中,可以找到相关的信息,表6-1列出几个较为常用的ODBC 驱动程序。
表6-1 常用的ODBC 驱动程序
比如是一个Access数据库,就可以采用"Driver={Microsoft Access Driver(*.mdb)}"方法指定驱动程序。
下面将介绍如何使用Open方法具体连接一个数据源。通过前面建立的DSN连接Microsoft Access 数据库。
该方法的连接字符串包括3 个部分:数据库的DSN 名、连接到数据库所使用的用户名、该用户的密码。
例6-1:
下面例子将利用数据库本身专用接口,即指定数据库驱动程序来连接,这里用的是Microsoft Access 数据库,因此该专用接口为“Driver ={Microsoft Access Driver(*.mdb)}”,连接的数据库跟上面相同,位置是“f:\inetpub\wwwroot\dzlt.mdb”,因为“f:\inetpub\wwwroot\”被设为“\”(通过在个人Web 管理器设置和语句Server.MapPath("\")设置),所以该数据库的位置变为“\dzlt.mdb”,这一点需要注意。
该方法的连接字符串可以包括4 个部分:专用数据库接口名称、数据库位置及名称、用户名、用户口令。
例6-2:
2.Execute 方法
Execute 方法是执行指定的查询、SQL 语句、存储过程或特定提供者的文本等内容,语法如下:
(www.xing528.com)
该方法返回一个Recordset 对象。参数CommandText 是字符串类型,包含要执行的SQL语句、表名、存储过程或特定提供者的文本;RecordsAffected 是长整型变量类型,是提供者向数据库服务器要求其返回每次操作所得到的记录数目;Options 参数表示对数据库请求的类型见表6-2。
表6-2 Execute 方法的Options 参数
Execute 方法可以执行标准的SQL 语句命令,如Select(查询提取数据)、Insert(插入数据)、Delete(删除数据)、Update(更新数据)、Create Table(创建数据表)、Drop Table(删除数据表)等操作。
使用Execute 方法如何具体处理SQL 命令,请查考后面介绍的数据库的操作部分,这里只简单介绍一下如何查询数据库。
下面的例子介绍如何使用Execute方法进行数据查询。
例6-3:
通过浏览器运行结果如图6-6所示。
图6-6 查询结果
3.Close 方法
使用Close 方法可关闭Connection 对象或Recordset 对象以便释放所有关联的系统资源。关闭对象并非将它从内存中删除,可以更改它的属性设置并且在此后再次打开。要将对象从内存中完全删除,可将对象变量设置为Nothing。语法如下:
4.BeginTrans、CommitTrans 和RollbackTrans方法
这三个方法都和Connection 对象的事务管理有关。如果希望以独立单元保存或取消对源数据所做的一系列更改,则可以使用这些Connection 对象的方法。例如在货币转帐时,必须从帐户中减去某个数额并将其对等数额添加到另一个帐户。无论其中的哪个更新失败,都将导致帐户收支不平衡。在打开的事务中进行这些更改可确保只能选择进行全部更改或不作任何更改。
其中BeginTrans 表示开始新事务;CommitTrans 表示保存任何更改并结束当前事务,它也可能启动新事务;RollbackTrans 表示取消当前事务中所作的任何更改并结束事务,它也可能启动新事务。其语法如下:
注意:并非所有提供者都支持事务。需验证提供者定义的属性“Transaction DDL”是否出现在Connection 对象的Properties 集合中,如果存在则表示提供者支持事务。如果提供者不支持事务,调用其中的某个方法将返回错误。
一旦调用了BeginTrans 方法,在调用CommitTrans 或RollbackTrans 结束事务之前,提供者将不再立即提交所作的任何更改。
对于支持嵌套事务的提供者来说,调用已打开事务中的BeginTrans 方法将开始新的嵌套事务。返回值level 将指示嵌套层次:返回值为“1”,表示已打开顶层事务(即事务不被另一个事务所嵌套),返回值为“2”,表示已打开第二层事务(嵌套在顶层事务中的事务),依次类推。调用CommitTrans 或RollbackTrans 只影响最新打开的事务;在处理任何更高层事务之前必须关闭当前事务。
调用CommitTrans 方法后,将保存连接上打开的事务中所做的更改并结束事务。调用RollbackTrans 方法还原打开事务中所做的更改并结束事务。在未打开事务时调用其中任何一种方法都将引发错误。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。