关闭 DAO 的 ODBC 与 Jet 的连接

关闭 Recordset 或 Database 对象时,或者这些对象已经不在视野之中时,所使用的连接就会被释放到连接高速缓存中。例如:在某个过程中声明一个 Recordset 对象,当这个过程结束时,它所声明的 Recordset 对象也会自动关闭,用来支持它的所有连接也会被释放到高速缓存。

代码访问 Recordset 对象的最后一个记录时,同执行 MoveLast 方法一样,用来置入记录集的连接被释放到高速缓存。为了对所有打开的 Recordset 对象进行更新或执行其它动作查询,有一个连接将被保持。

代码关闭 Database 对象或者该对象失去视野,Jet 就会关闭该 Database 对象和所有与之相关的 Recordset 对象。所有与之相关的连接都被释放到高速缓存。

每个 Data 控件都执行与 OpenRecordset 方法相似的功能。就是说,当初始化时,每个控件都会创建一个或两个连接(这取决于结果集的大小和将要访问的服务器的功能)。为了尽快释放连接,Visual Basic 会自动置入由 Data 控件产生的 Recordset 对象。这一过程是在空闲时间中进行的,其执行速率可以在 MSysConf 表中设定。一般来说,Jet 会维持一个连接以进行更新,但是在每个 Data 控件相关的结果集完全置入之前,另外一个连接为了返回行必须维持在打开状态。当代码将记录集定位到最后一行时,就象执行 MoveLast 方法时一样,这个额外的连接就不再需要并被返回到缓冲区中。