读书人

请教关于vb用ado连接dbf数据库的有关问

发布时间: 2012-12-24 10:43:13 作者: rapoo

请问关于vb用ado连接dbf数据库的问题
之前我一直是用vb+ado连接access的mdb文件,
一个mdb文件内包含多个表
所以我使用select [字段名] from [表名] 这样的语句来打开数据库

今天临时要操作一下dbf数据库,发现好像每个dbf文件就是单独的一个表,而不像access那样每个文件里面包含多个表

那么问题来了 select [字段名] from [表名] 这个表名应该如何写呢?

现在假设这个dbf文件叫做1.dbf

我"select * from 1" 或者"select * from 1.dbf"都会提示错误

说odbc驱动程序不支持所需的属性
[解决办法]
'ADO连接DBF数据库
Dim conn As New ADODB.Connection
conn.ConnectionString = "provider=msdasql;DRIVER=Microsoft Visual FoxPro Driver;UID=;Deleted=yes;Null=no;Collate=Machine;BackgroundFetch=no;Exclusive=No;SourceType=DBF;SourceDB=C:\fox\data;"
conn.Open
[解决办法]

引用:
'ADO连接DBF数据库
Dim conn As New ADODB.Connection
conn.ConnectionString = "provider=msdasql;DRIVER=Microsoft Visual FoxPro Driver;UID=;Deleted=yes;Null=no;Collate=Machine;BackgroundFetch=no;Exclusive=No……


已经连接上了

就是不知道具体的select语句怎么写
[解决办法]
写1或1.dbf作表名都是对的,注意你的连接方式。

[解决办法]
provider=msdasql;DRIVER=Microsoft Visual FoxPro Driver;UID=;Deleted=yes;Null=no;Collate=Machine;BackgroundFetch=no;Exclusive=No;SourceType=DBF;SourceDB=C:\Documents and Settings\Administrator\桌面\新建文件夹\1.dbf;

我按照1楼的方式进行了连接

但是这样打开时还是出现错误 odbc驱动程序不支持所需的属性

dbRecordset.Open "select * from rkqd.dbf", db, 1, adLockOptimistic
[解决办法]
这个是完整的代码


Option Explicit

'这个模块是程序的入口

Public db As New ADODB.Connection '数据库对象

Public ConnectionString As String '数据库连接字符串


Sub Main()

ConnectionString = "provider=msdasql;DRIVER=Microsoft Visual FoxPro Driver;UID=;Deleted=yes;Null=no;Collate=Machine;BackgroundFetch=no;Exclusive=No;SourceType=DBF;SourceDB=" & App.Path & "\rkqd.dbf;"

db.ConnectionString = ConnectionString
db.ConnectionTimeout = 25
db.Open


Dim dbRecordset As New ADODB.Recordset
dbRecordset.Open "select * from rkqd.dbf", db, 1, adLockOptimistic'这句出错


End Sub

读书人网 >VB

热点推荐