如何用VB访问Foxpro的数据库

printer 2002-05-28 04:13:40
微软MSDN里面倒是有这样的实例代码,可是我却无法访问,然而却是,FoxPro可以打开。请问如何办呢,或者,正确的访问方法应该是怎么样的呢
...全文
125 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
hycao 2002-05-28
  • 打赏
  • 举报
回复
ODBC连接字符串:
1、Visual FoxPro(带有一个数据库容器):
Driver={Microsoft Visual FoxPro Driver};SourceType=DBC;SourceDb=指向.dbc文件的物理路径
2、Visual FoxPro(不带数据库容器):
Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDb=指向.dbf文件的物理路径

一本介绍ASP的书上抄来的,没试过,不知道在vb下能不能照搬。
airwater99 2002-05-28
  • 打赏
  • 举报
回复
用data控件
正如楼上: Vb支持Foxpro的.DBF格式哦!!
Private Const gsFOXPRO20 = "FoxPro 2.0;"
Private Const gsFOXPRO25 = "FoxPro 2.5;"
Private Const gsFOXPRO26 = "FoxPro 2.6;"
Private Const gsFOXPRO30 = "FoxPro 3.0;"
Private gwsMainWS As Workspace
Private gdbCurrentDB As Database
Private strConnect As String

Set gwsMainWS = DBEngine.CreateWorkspace("MainWS", "admin", vbNullString)
strConnect =gsFOXPRO30
Set gdbCurrentDB = gwsMainWS.OpenDatabase("源路徑", False, True, strConnect
thorkhan 2002-05-28
  • 打赏
  • 举报
回复
筆誤visData,裝了msdn就有
thorkhan 2002-05-28
  • 打赏
  • 举报
回复
參考vsidata程序
thorkhan 2002-05-28
  • 打赏
  • 举报
回复
Private Const gsFOXPRO20 = "FoxPro 2.0;"
Private Const gsFOXPRO25 = "FoxPro 2.5;"
Private Const gsFOXPRO26 = "FoxPro 2.6;"
Private Const gsFOXPRO30 = "FoxPro 3.0;"
Private gwsMainWS As Workspace
Private gdbCurrentDB As Database
Private strConnect As String

Set gwsMainWS = DBEngine.CreateWorkspace("MainWS", "admin", vbNullString)
strConnect =gsFOXPRO30
Set gdbCurrentDB = gwsMainWS.OpenDatabase("數据庫路徑", False, True, strConnect)
dyx 2002-05-28
  • 打赏
  • 举报
回复
用data控件
printer 2002-05-28
  • 打赏
  • 举报
回复
应用程序使用环境要求不可以使用数据源,文件不是固定的,
zhpfaff 2002-05-28
  • 打赏
  • 举报
回复
和操作Access的方法想同,主要是设置数据源
但有个问题,你不可以彻底删除记录,只能是给记录加删除标记。
因为在vfp里delete只是给记录加删除标记,而vfp的彻底删除命令在odbc里不支持。
itmouse 2002-05-28
  • 打赏
  • 举报
回复
试一下下面的方法:

1、建立一个数据源,选择驱动程序时选择dBase V;
2、在VB中使用ADO对象;
A、建立数据库连接
Set cn=New ADODB.Connection
cn.ConnectionString="dns=****"
cn.......
cn.Open
B、建立记录集
Set rs=New ADODB.Recordset
rs.Open "Select * From TableX Where ****",cn
上面这行代码中的SQL语句中的TableX代表实际的FoxPro记录文件(*.dbf)文件,但TableX中只写文件名。接下来可以操作记录集做你想做的操作;
C、可以通过cn执行动作性的SQL语句
cn.Execute "Delete From TableX Where ****"
cn.Execute "Update TableX Set FieldX=**** Where ****"
cn.Execute "Insert ****"

当然,可以不建立数据源而省略步骤1,而是通过设置驱动程序直接写Connection对象的连接字符串
cn.ConnectionString="Provider=***; ********"
woxu 2002-05-28
  • 打赏
  • 举报
回复
应该是用connect容易点
printer 2002-05-28
  • 打赏
  • 举报
回复
是啊,我也用过这样的东西,但是,用代码的时候出现了错误,而且,还有没有其他的方法呢
ILP 2002-05-28
  • 打赏
  • 举报
回复
用 data 控件很容易!
只需选定 connect 属性 为foxpro就行!
和访问access 一样!
能 添,改,删 什么的!
用代码的话,我没编过!
printer 2002-05-28
  • 打赏
  • 举报
回复
up
daryl715 2002-05-28
  • 打赏
  • 举报
回复
up
没用过foxpro

1,217

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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