VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)
首页 - 经验之谈 - 如何正确使用VB6访问Access2000数据库
发表评论(0)作者:, 平台:, 阅读:10997, 日期:2000-03-25
如何正确使用VB6访问Access2000数据库

好多朋友在用VB6开发基于Access的数据库时,如果用Access97,那一般不会有什么问题,无论使用基本数据控件、RDC、DAO还是ADO,只需按照一般方法就可以很方便的连接到MDB文件。可是,如果你用Access2000,问题可能会出现--电脑告诉你无法识别数据库格式!为什么呢?

遇到这种情况,一般会有两种情况。

如果你想用Data Control,那笔者建议还是放弃吧,它对Access2000的数据库支持的不好,或者说基本不支持,所以,请考虑DAO或ADO。

如果你用DAO或ADO,那请先检查你的Visual Basic 6的版本,如果你没有安装过Visual Studio SP3,那请赶快安装吧!SP3会将你的ADO升级到2.0版本以上;同时,安装Office 2000后,ODBC中的许多数据库驱动程序也会被升级,Microsoft Access的驱动程序将升级到4.0--这些可是通过ODBC连接Access2000数据库的基本保障啊。

前面所讲述的情况是基于Windows 9x和Windows NT的,假使你已安装了Windows 2000,那么恭喜你,你的ODBC已经是最新版本了(比在WIndows NT 4.0 + SP4 + Office2000还要新!)。你只要在编程是注意以下事项即可以正确连接到Access2000的MDB了。

以ADO为例,我们添加Microsoft ADO Data Control 6.0 (OLEDB)和Microsoft DataGrid Control 6.0 (OLEDB)控件到工程。我们使用OLEDB直接连接到数据库,其中关键是ADO的参数设定:

ADO的ConnectString中的Data Source当然是你的数据库的路径,Provider是最重要的,你必须写Microsoft.Jet.OLEDB.4.0。4.0是重点,只有它才可以让你成功访问Access2000!

如果使用ODBC,那只要Microsoft Access Driver的版本在4.00.xxxx以上,应该没有问题的。

如果你用ADODB对象,那可以照以下代码写:

Dim adoRS as New ADODB.Recordset

Dim strConn As String

Dim strSQL As String

Dim strDataFile As String

Dim strTableName As String

strConn = "Data Source=" & strDataFile & ";Provider=Microsoft.Jet.OLEDB.4.0"

'其它参数可以根据情况选用

strSQl = "Select & from " & strTableName

adoRS.Open strSQl, strConn

...

adoRS.Close

Set adoRS=Nothing

以上的示例是直接打开数据库,无须任何DSN。

现在你该可以自如地使用VB6访问Access2000数据库了。小屠最后还要建议大家:抛弃Data Control、RDO或DAO吧,ADO才是我们的最佳选择--无论你访问本机、网络数据库,ADO都是最快捷、安全的选择!