我有个DBF文件,其中有几个字段用foxpro打开能看到有数值,但是用delphi5的TTable去读取死活读出来就是空,但是当我把这个读不出的数据在foxpro里手工做了修改(比如把1改成2,或者把1重新填写一遍之后,就都能读出来了,这是什么原因啊?
我的msn: [email protected],欢迎在线指导!

解决方案 »

  1.   

    问题是我们整套系统都不用ado,就这个地方用ado,不行的。
      

  2.   

    而且据说别人用api读同一个dbf库,读出来了,怎么就我的bde不行呢,郁闷中……
      

  3.   

    shiyl,能不能联系我呢?
    我的msn:[email protected]
      

  4.   

    我觉得肯定是取值的方法不对,就像d6取excel中的数据的时候,如果方法不对,就不能取到数据
      

  5.   

    哪位大哥能帮帮我呢?
    如果您告诉我您的邮箱,我可以把这个DBF文件发给您,帮我看看吧!
      

  6.   

    以前我也遇到过,将foxpro 组织干部管理数据库转换为access数据库,用bde会遇到很多字段不能读出,改用odbc连接后问题解决.我想是不是bde自带的驱动程序不如ms的驱动程序正宗.
      

  7.   

    但是我用ADO(就是调用ODBC的吧)还是不行,郁闷……
      

  8.   

    [email protected]
    发过来看看吧
      

  9.   

    那么谁能告诉我怎么用API读DBF库呢?
      

  10.   

    ODBC的问题吧,我在别的数据库上碰到类似问题,换一个版本的ODBC后问题解决。
      

  11.   

    换个ODBC?
    这个方法恐怕不行,因为我总不能让所有的客户端都去换个ODBC吧?
    另外,我现在发现,新建一个VFP驱动的ODBC就能够把数据读出来,但是这个方法同样是要新建ODBC,就因为不能在所有的客户端上让他们去建一个ODBC,这个方法没有被采纳。据说用API读DBF能够直接读出来,但是我不知道怎么搞,万望各位大侠救命!
      

  12.   

    我也碰到了这样的问题,用BDE和ADO的方式都会有部分字段读出来是空的,不知道是什么原因,请高手帮忙!
      

  13.   

    用Microsoft OLE DB for ODBC Driver方式应该可以,Conncetion String为:Provider=MSDASQL.1;Persist Security Info=False;Data Source=MyDSN;Mode=Read;Extended Properties="DSN=MyDSN;DefaultDir=c:\dbf;DriverId=533;FIL=dBase 5.0;MaxBufferSize=2048;PageTimeout=5;"