最近做程序的时候需要用到delphi和foxpro的dbf表,想通过delphi来操作dbf表!
delphi操作foxpro的表有好多的办法,
如用datasorce连接tquery组件把查询结果显示在dbgrid表格里
这样没有办法导出查询的结果!
可是想把查询dbf表的结果给导出为dbf文件就比较麻烦了!
经过一番努力找到了一个好办法!
在foxpro中完成这些工作简直太容易了,
但很多功能必须用delphi实现。
虽然可以用foxpro做个小程序,
然后再用delphi调用,可是比较麻烦。
这就 让我想到了可以用Delphi通过调用Com组件的方式
直接执行foxpro命令来实现,代码如下:
foxPro:=CreateOleObject(‘VisualFoxPro.Application’);
foxPro.DoCmd(‘USE F:\zhuchong\练习\ckc.dbf’);
foxPro.DoCmd(‘select *form ckc.dbf where bmddm=’1221′ into table bmddm.dbf’);//导出dbf文件
foxPro.DoCmd(‘copy to F:\zhuchong\练习\student.txt delimited with tab’);//导出txt文件
foxPro.Quit;
foxPro:= Unassigned;
上面的代码是将ckc.db文件导出到student.txt文件。
以上参考了http://www.gomoth.com/chengxusheji/3964.html
用oledb for vfp(如9.0 Microsoft OLE DB Provider for Visual FoxPro 9.0)连接,可支持vfp的大部分命令
不是oledb for odbc
oledb for vfp下载地址:
http://www.microsoft.com/en-us/download/details.aspx?id=14839
发布日期:2008.05.16
版本:1.2
语言:English
File Name Size
vfpoledb.msm 829 KB
VFPOLEDBSetup.msi 1.2 MB (安装此项)
安装完oledb for vfp后,建一ado连接,选oledb for vfp,如果是数据库,连接到数据库,如果是自由表,连接到自由表所在目录,然后建一ado command或用ado连接的execute方法
请发表评论