Chinaunix首页 | 论坛 | 博客
  • 博客访问: 602365
  • 博文数量: 772
  • 博客积分: 5000
  • 博客等级: 大校
  • 技术积分: 4980
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-17 13:02
文章分类

全部博文(772)

文章存档

2011年(1)

2008年(771)

我的朋友

分类:

2008-10-17 13:11:47


  一般来说,自定义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控件的连接讲解比较少,本人根据工作时的心得进行了一下小结,希望对数据库开发人员有所帮助。
  
【责编:admin】

--------------------next---------------------

阅读(390) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~