如何用TTable控件实际磁盘读写FOXPRO表

Zhnglb 2000-03-06 10:21:00
用TTable访问FOXPRO表时遇到如下问题:
开启DELPHI编写的应用程序A,另外用VISUAL FOXPRO共享打开前者实时扫描的
FOXPRO表,当VISUAL FOXPRO更新了数据时,A并不能抓取更新了的数据(A已经调用
了Refresh)。而当A调用Post后,A修改后的数据实际上也没有存到磁盘上。所有的
操作实际只是在一个内存缓冲区内进行。只有OPEN才真正从磁盘读数据,也只有
CLOSE实际把数据写到磁盘。而我设置表的属性CachedUpdates为FALSE。
   所有的感觉就是BDE接口一直在偷懒。请教各位高手如何解决?
...全文
178 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
LaoZheng 2000-03-07
  • 打赏
  • 举报
回复
如数据库在Server没有问题.如果在本地盘上有此问题,可以将数据库jia 加共享属性.
CJ 2000-03-06
  • 打赏
  • 举报
回复
Table1.FlushBuffers
CJ 2000-03-06
  • 打赏
  • 举报
回复
好象是这样的,你可以试试以下方法:
1、直接用ODBC连接数据库,即BDE-ODBC-FOX
2、如果你用D5,也可以用 ADO-ODBC-FOX的方法
3、试试BDE API,dbiforcerecordreread,dbiforcereread
Zhnglb 2000-03-06
  • 打赏
  • 举报
回复
FlushBuffers在Post之后调用的确可以存盘,
但还没有解决读最新数据的问题
BDE API的方法我试过了,没有效果,实际上Refresh过程调用了dbiForceReread.
我用的是D4,应用程序已写好,是在调试时遇到的这个问题。改用BDE-ODBC-FOX或
ADO-ODBC-FOX都不现实。

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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