如何用VB访问Foxpro的数据库

printer 2002-05-28 04:13:40
微软MSDN里面倒是有这样的实例代码,可是我却无法访问,然而却是,FoxPro可以打开。请问如何办呢,或者,正确的访问方法应该是怎么样的呢
...全文
87 点赞 收藏 14
写回复
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
回复
发动态
发帖子

1180

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
社区公告
暂无公告