ADO对象的关闭以及数据库压缩

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

一般来说,自定义ADO对象连接对数据库操作比较容易控制,大部分资料也讲解的多,对于ADO控件,资料一般只是介绍如何使用ADO控件访问数据库以及如何绑定其他控件显示,而对于关闭ADO控件的连接讲解比较少,我的程序想在主界面使用ADO控件显示数据库,还允许用户进行数据库压缩。虽然代码比较简单,但是还是费了不少功夫,本来还想单独作个小程序算了,后来终于解决了。进行了一下小结,希望对数据库开发人员有所帮助。

Vb使用ADO对数据库操作一般有两种方式,分别是自己定义控制连接以及使用ADODC控件进行数据库访问。

一、自己定义连接

上述代码就是打开一个数据库并执行一条查询命令

上述代码就关闭连接,并释放资源。

一般这个方法比较容易控制,介绍也比较多,这里不多做解释了

二、ADODC控件

一般显示一个数据库,最方便的莫过于用ADODC和DBGRID控件了。

这段代码也是经常有介绍,将ADO控件连接数据,并绑定表格控件,但是很少有说到如何关闭ADO控件的连接。一般可能认为窗口关闭ADO可以自行释放了。

我制作的一个软件,主界面使用ADO和DBGIRD绑定显示一个数据库,同时也定义了一个连接用来自行一些更新的SQL语句。大家也知道,如果在 Access 数据库中删除了多条记录,数据库并不会变小,必须进行压缩。所以我在界面上添加了一个菜单:压缩数据库。

1、增加引用:Microsoft Jet and Replication Objects

2、增加了如下代码:

首先关闭自定义的连接,然后压缩数据库,重新连接,释放JR对象。

结果运行后总是报错:

看来是由于我使用ADO控件打开了数据库,必须关闭数据连接才能正常进行压缩。

首先我想既然打开是给.ConnectionString 、RecordSource 赋值后调用REFRESH方法,应该可以将其赋为空字符串后REFRESH也可以。

运行后,出现如下提示框:

虽然压缩操作可以正常执行,但是弹出这么一个对话框对程序也不合适,经过反复调试,终于找到了方法:将ADO控件的.ConnectionString 、RecordSource属性赋值为空;释放Recordset对象。缺少一个操作都会出现上述对话框提示。最后的代码如下:

一般来说,自定义ADO对象连接对数据库操作比较容易控制,大部分资料也讲解的多,对于ADO控件,资料一般只是介绍如何使用ADO控件访问数据库以及如何绑定其他控件显示,而对于关闭ADO控件的连接讲解比较少,本人根据工作时的心得进行了一下小结,希望对数据库开发人员有所帮助。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航