在Delphi中用ADO连接FoxPro数据库

VisualPro,即VFP,那个小狐狸头,在学校时拿它做数据库理论教育,但自从6.0之后就从未接触它了,听说出在有9.0,但我觉得它的时代已经过去了。例外的是,现在还发现有人用VFP写的应用,还是号称ERP的呢,难以置信吧?!为了取用VFP数据库(也就是.dbf文件)里的数据,不得已重新捡起这“老古董”。当然,我不会为了它再安装一个VFP6.0,应该可以通过ADO连接的,而且,就一个简单的数据查询,没有复杂的操作,用Delphi写个小程序即可。

开始用ADOConnection控件连接数据库,但发现,“提供程序”列表里根本没有适合VFP的驱动!转而想想创建一个ODBC Link File再在ADO里引用吧,在“ODBC数据源管理器”里倒是列出了不少VFP(或者*.dbf)有关的驱动,可惜是虚设的,当你点击它时会弹出要求下载安装的提示(-_-!)

       回到ADOConnection控件,试着选了“Microsoft OLE DB Provider for ODBC Drivers”,然后,“1.选择使用数据源名称”,在列表里选择“dBASE Files”;2.“输入登录服务器信息”可以忽略;“3.输入要使用的初始目录”,将存放.dbf文件的目录路径复制到其中,完整的连接串是这样的“Provider=MSDASQL.1;Persist Security Info=False;Data Source=dBASE Files;Initial Catalog={DATA_PATH}”(其中{DATA_PATH}.dbf存放路径)。点击“测试连接”居然成功了,然后试试ADOTableADOQuery连接其中一个文件,也成功地看到了表中的数据。但是,这并不意味着完全成功了,这只是dBASE驱动“部分兼容”早期的VFP数据库,再试试其它的.dbf文件时,你会发现产生错误了:

       发生“意外错误”,不必找其原因了,估计是没法解决的,因为本来就没用对驱动,还是另寻它法吧,哈哈~

       开始GOOGLE VFP的驱动,发现了一标题为“不包括在 MDAC 2.6 或更高版本的 visual FoxPro ODBC 驱动程序”(这是机器翻译的)的文章,看标题就知道VFP驱动真是很有年份了!因为现在至少是用MDAC2.7了。跟着文章找到了Microsoft OLE DB Provider for Visual FoxPro 9.0,似乎没有中文版的,将就着用吧。下载安装,发现还有Sample data and program file,不错!安装完后(记得重启Delphi),发现ADOConnection控件的“提供程序”列表里多了一项“Microsoft OLE DB Provider for Visual FoxPro”,对了,要的就是它!

       迅速用这个驱动连接数并测试,发现刚才用“dBase Files”驱动连接出错的文件能正常连接了。完成的连接串是:“Provider=VFPOLEDB;Data Source={DATA_PATH};Password="";Collating Sequence=MACHINE (其中{DATA_PATH}.dbf存放路径)。

       ADOTable控件取数据就简单了,直接可以先表名(也就是.dbf文件的文件名),而用ADOQuery控件查询时,则直接“SELECT * FROM dbfilename”,其中dbfilename就是.dbf文件名,可以要扩展名也,也可以不要扩展名。

       至于更复杂的操作要慢慢试了,想必跟操作数据库大同小异了。(^_^)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值