数据访问技术(总结)

来源:互联网 发布:手机淘宝找同款在哪里 编辑:程序博客网 时间:2024/05/16 08:10

尽快将 ADO 对象关闭并设置为 Nothing

在使用 ADO 对象时,请确保在用完后立即显式调用 Close 方法并将使用的记录集和连接设置为 Nothing。一种最常见的 ADO 编码错误,是在用完对象后忘记关闭。虽然显式关闭对象不是强制的,但是这么做可能是成功或失败的应用程序之间的差别。

将 ADO 对象设置为 Nothing 会清除存储在 Err 中的错误信息。如果清除了错误处理程序中的 ADO 对象,可能会带来问题。因此,如果希望存储该信息,请在关闭对象之前的 ADO 对象清除过程中,将 Number、Source 和 Description 存入变量。

注意 如果要返回断开连接的记录集,则不应该关闭记录集。关闭记录集则会取消它的内部高速缓存,因此只要将它的 ActiveConnection 设置为 Nothing 就可以了。

操作方式

要确认是否正确关闭了 Connection Recordset 对象,可以实现下面的代码:

   If Not oMyRecordset Is Nothing Then      If oMyRecordset.State <> 0 Then oMyRecordset.Close      Set oMyRecordset = Nothing   End If

正如以前所提到的,不能在将返回给客户机的记录集中调用 Close 方法。

 

避免复用 ADO 连接对象来执行多个命令

避免在多个数据库命令上复用打开连接对象。也就是说,每当需要时请打开、使用和关闭连接。

在数据库访问对象中封装 ADO 代码是不会有问题的,原因是这些封装是在无状态方式下执行的。但是,如果对象中有 ADO 对象,尤其是在类级别上存储了 ADO 连接,那么请参考下面的“知识库”文章。主要问题在于如何在执行其他任务时保持打开的数据库游标。如果正在检索要发送到客户机的记录集,那么请从 RDBMS 断开它们的连接。

实现一种复用 ADO 连接对象的方式会大大加重维护任务,并且可能导致通过良好封装能够避免的设计错误。ADO-OLE DB 层实现了它自己的内部连接池。该连接池使下面的流程成为访问服务器上数据的首选方式:

  • 创建 ADO 连接

  • 打开连接

  • 使用它

  • 关闭连接

  • 将 ADO 连接对象设为 Nothing

开发和维护将更方便,并且更快速和可扩展。

原创粉丝点击