VB读取FoxPro数据DBF文件,打包时需要什么?
VB读取FoxPro数据DBF文件,打包时需要什么条件?应该要动态库支持吧,是哪些呢? 问题点数:200、回复次数:15Top
1 楼babyt(阿泰)回复于 2004-11-03 00:41:07 得分 10
VB读取FoxPro数据DBF文件是通过数据引擎实现的,一般win2000上都会带的
应该不需要额外的文件 :)
你用打包工具打包后还缺文件吗?Top
2 楼skywolfY(莫愁)回复于 2004-11-03 00:47:48 得分 0
是呀,用VB连接后,有几种不同版本的FoxPro,高低不等,低到DOS,高到7.0,晕吧
在安装过FoxPro6.0的机子上,可以读取6.0以下版本DBF,但7.0的不能读取,在客户机子上,由于对方
不可能安装Foxpro7.0 ,所以运行后什么也读不出来,版本不正确。我想7.0以上版本Windows应该会支持,
但事实上行不通Top
3 楼51365133(渊海)回复于 2004-11-03 00:51:24 得分 5
不应该呀,我以前刚开始学数据库都是用的FOXPRO的,有没有提示呢?出错的时候??
Top
4 楼skywolfY(莫愁)回复于 2004-11-03 00:56:38 得分 0
sCon = "Provider=VFPOLEDB.1;Data Source=" & Text2.Text & ";Password=" & Chr(34) & Text4.Text & Chr(34) & " ;Collating Sequence=MACHINE"
sCon = "provider=msdasql;driver=Microsoft Visual FoxPro Driver;UID=;Deleted=Yes;Null=no;collate=Machine;BackGroundFetch=no;Exclusive=No;SourceType=DBF;SourceDB=" & Trim(Text2.Text) & ";"
两种方式连接,第一种明确说找不到引擎,第二种说版本不正确Top
5 楼chenyu5188(来自东方的狼)回复于 2004-11-03 06:58:26 得分 80
用ODBC连接。如果用第一种要安装VFP的数据库提供者引擎才行的!
用ADO访问foxpro的自由表、foxpro数据库中的表的及早期Dbase格式的表的记录的示例:
你首先要在VB菜单中:
“工程”-->“引用”-->“Microsoft AxtiveX Data Objects 2.X Library”
x为版本号,最新版为2.8
"工程"-->“部件”-->“MicroSoft DataGrid Control 6.0”
数据类型:自由表
示例:
Private Sub cmddisp_click()
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim cnstr As String
cnstr = "Driver={Microsoft Visual FoxPro Driver};" & _
"SourceType=DBF;" & _
"SourceDB=" & app.path & "\data" & _
"Exclusive=No"
cn.Open cnstr
rs.CursorLocation = adUseClient
rs.Open "select * from XXX.DBF", cn, adOpenKeyset, adLockBatchOptimistic
Set DataGrid1.DataSource = rs
DataGrid1.Refresh
rs.close
set rs=nothing
End Sub
以上示例程序的作用是将XXX.dbf表中的数据显示在datagrid1控件中。
数据类型:数据库
示例:
Private Sub cmddisp_click()
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim cnstr As String
cnstr ="Driver={Microsoft Visual FoxPro Driver};" & _
"SourceType=DBC;" & _
"SourceDB=" & app.path & "\data\yourdbname.dbc;" & _
"Exclusive=No"
cn.Open cnstr
rs.CursorLocation = adUseClient
rs.Open "select * from XXX.DBF", cn, adOpenKeyset, adLockBatchOptimistic
Set DataGrid1.DataSource = rs
DataGrid1.Refresh
rs.close
set rs=nothing
End Sub
数据类型:早期Dbase格式的dbf文件
示例:
Private Sub command1_click()
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim cnstr As String
cnstr = oConn.Open "Driver={Microsoft dBASE Driver (*.dbf)};" & _
"DriverID=277;" & _
"Dbq=" & app.path & "\data"
cn.Open cnstr
rs.CursorLocation = adUseClient
rs.Open "select * from XXX.DBF", cn, adOpenKeyset, adLockBatchOptimistic
set datagrid1.datasource=rs
datagrid1.refresh
rs.colse
set rs=nothing
End Sub
Top
6 楼pingyou(裸男.NET)回复于 2004-11-03 08:16:33 得分 45
我之前也做过一个对DBF数据操作的软件,我先是在微软的网站上下载了一个VFPOLEDB.EXE文件,你可以上网搜索一下,全名是Microsoft OLE DB Provider for Visual FoxPro 8.0,安装好之后开始做程序,程序做好之后在打包中加入了stold2.tlb和msado25.tlb这两个文件。Top
7 楼2004v2004(980)回复于 2004-11-03 08:26:20 得分 5
关注Top
8 楼of123()回复于 2004-11-03 08:38:12 得分 20
微软的 Jet 引擎支持 DBF / FoxPro 数据库:
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\folder;Extended Properties=dBASE IV;User ID=Admin;Password="Top
9 楼jjkk168(老加班的人--好好学习,天天吃饭)回复于 2004-11-03 08:51:07 得分 5
FoxPro数据库在WinXp Home Edition版本中极度的不好用。后来的解决办法,将Win2000的System32目录下的VFPODBC.dll文件拷贝过去覆盖WinXP下的同名文件,解决了。因此打包的时候最好将这个文件打上。(可以留意一下,在不同的系统中这个文件的版本号是不同的,在XP Home版中的VFPODBC文件的版本号忒低了点。)Top
10 楼Leftie(左手,为人民币服务)回复于 2004-11-03 08:59:17 得分 20
'可用ADO连接
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
Top
11 楼pingyou(裸男.NET)回复于 2004-11-03 09:14:05 得分 5
jjkk168(老加班的人)
FoxPro数据库在WinXp Home Edition版本中极度的不好用。后来的解决办法,将Win2000的System32目录下的VFPODBC.dll文件拷贝过去覆盖WinXP下的同名文件,解决了。因此打包的时候最好将这个文件打上。(可以留意一下,在不同的系统中这个文件的版本号是不同的,在XP Home版中的VFPODBC文件的版本号忒低了点。)
----------------------------------------
哎,不只是在WinXP Home Edition 中不好用,在WinXP Professional Edition中同样用不了。
我之前的那个程序在2000下没问题,在XP中死活都用不了,我为止还专门发帖问了别人,没有谁能说的清楚,郁闷ingTop
12 楼jjkk168(老加班的人--好好学习,天天吃饭)回复于 2004-11-03 15:19:05 得分 5
在XP Professional中应当可以用啊?是不是这台机器的VFPODBC.dll文件也被低版本的给覆盖了?
建议检查该文件版本。Top
13 楼skywolfY(莫愁)回复于 2004-11-03 17:53:30 得分 0
多谢各位朋友的解答,我的这个程序中不能用odbc一类的,但可以运行打包程序,我看如果在打包中加入各位所说的几个库试看行不行Top
14 楼skywolfY(莫愁)回复于 2004-11-04 02:08:48 得分 0
chenyu5188(来自东方的狼) ( ) 信誉
提供者引擎在哪里能下载到?Top
15 楼skywolfY(莫愁)回复于 2004-11-04 09:34:23 得分 0
谁能告诉我在哪里能找到vfp7.0的提供者引擎呀Top




