ADO连接FOXPRO数据库的问题(送分)

还想懒够 2003-01-28 09:07:37
最近由于要改一个VFP3.0写的程序,我还真不知道这个数据库版本是啥东东,一直以来就不喜欢用FOXPRO数据库,这会儿可真碰上难题了。

现在有一个文件夹,假定为c:\dbf,里面有一个数据库文件sjk.dbc,还有若干个数据库表,现在想用ADO连接其中的一个表kck.dbf

由于无法固定数据库路径,因此需要动态得到数据库路径,唯一可知道的是程序本身的路径与KCK.dbf所在的文件夹是一致的,请问有什么办法可以用添加代码的方法打开这个表啊?

谢谢各位大侠了。
...全文
109 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
northwolves 2003-01-28
  • 打赏
  • 举报
回复
VB把.DBF文件所在目录看作一个数据库
*.dbf 相当于mdb中的table

dim cnn as new adodb.connection
cnn.open"Provider=MSDASQL.1;Driver=Microsoft Visual Foxpro Driver;SourceDB=e:\dbfs;SourceType=DBF; "
chenyu5188 2003-01-28
  • 打赏
  • 举报
回复
adodc1.connectstring = "Provider=Microsoft.Jet.OLEDB.4.0;" _
& "Data Source=" & App.Path & "\data\月欠税情况.mdb;" _
& "Persist Security Info=False"
adodc1.recordsource="select * from bqs"

以上是我写的一个程序中的连接字符串你可以参考一下。
我用的是access数据库,你用的是foxpro,在我的连接字符串中要修改一下。
具体的你可在adodc1控上单击右键选中“属性”中进行生成。。。
在生成数据源页面中进地具体设定。
还想懒够 2003-01-28
  • 打赏
  • 举报
回复
现在我有一command以及一个adodc

adodc未进行任何设置

在command下加入以下代码

Private Sub Command1_Click()
Adodc1.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;Extended Properties='DSN=FoxPro Files - Word;UID=;SourceDB=" & App.Path & "\Sjk1.dbc;SourceType=DBC;Exclusive=No;BackgroundFetch=No;Collate=Machine;Null=Yes;Deleted=Yes;'"
Adodc1.RecordSource = "select * from kck"
Adodc1.Refresh
End Sub

执行后提示“指定的初始化字符串不符合OLE DB的规定”
没法进行下去了


chenyu5188 2003-01-28
  • 打赏
  • 举报
回复
app.path

可以获取当前应用程序的目录路径

如:
c:\prg\test.exe
在:C:\prg\dbf\下为数据文件
test.exe应用程序的目录为:c:\prg
那么应用程序获取数据文件的目录可以这样写:

app.path & "\dbf"

其中app.path代表了c:\prg
还想懒够 2003-01-28
  • 打赏
  • 举报
回复
我想知道的也就是那个adodc1.connectstring以及adodc1.recordsource怎么样写

谢谢了

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧