如题

解决方案 »

  1.   

    你用的VFP版本是多少?你的数据库是在FOXPRO中还是在DELPHI中建立的?
      

  2.   

    conn.connectionstring:='Provider=MSDASQL.1;Extended Properties="CollatingSequence=ASCII;
    DBQ=你存放数据库的目录;DefaultDir=你存放数据库的目录;
    Deleted=0;Driver={Driver do Microsoft dBase (*.dbf)};FIL=dBase III;"';
    conn.open;
    这是连接dbf的例子。在查询时直接将*.dbf数据库的名字作为表名处理就行了。
    FIL=dbase III表示处理dbase III数据库,如果处理其它的数据库就选择相应的数据库:
    dbase III,dbase VI,dbase 5.0
    对于vfp生成的*.dbf:
    Provider=MSDASQL.1;Extended Properties="Driver={Microsoft dBase VFP Driver (*.dbf)};
    SourceDB=数据库所在目录;SourceType=DBF;"
    对于paradox文件:
    Provider=MSDASQL.1;Extended Properties="CollatingSequence=ASCII;DBQ=数据库所在目录;DefaultDir=数据库所在目录;Driver={Microsoft Paradox Driver (*.db )};
    DriverId=538;FIL=Paradox 5.X;ParadoxNetPath=E:\WINNT\System32;ParadoxNetStyle=4.x;"
    具体有些参数可能随系统不同路径有些差别,你自己参照你的dsn生成的字符串比较一下。
      

  3.   

    VFP版本未知,那个表是从别的地方copy的,有什么办法?
    数据库应该是用FOXPRO建的。
      

  4.   

    你在VFP中用COPY TO FILENAME TYPE FOX2X,这样可去掉索引信息。
      

  5.   

    To WWWWA(aaaa) 因为数据是从别处的来的,我无法修改,??
    To cg1120(代码最优化-§新年祝福你,好运伴着你§) 
    <<对于vfp生成的*.dbf:
    Provider=MSDASQL.1;Extended Properties="Driver={Microsoft dBase VFP Driver (*.dbf)};
    SourceDB=数据库所在目录;SourceType=DBF;">>
    这是是指用AdoTable连接码?好像不行呀?
    恕我愚笨。请详细指点,多谢各位大侠!!
      

  6.   

    在VFP中打开此数据库时会有错误提示,忽略它,再用以上命令即可。
      

  7.   

    用COPY 命令并不会修改此数据库的内容(表内的数据),只是将INDEX标示
    去掉。此数据库不会不能打开吧?
      

  8.   

    因为该数据库是异地的,而且数据库需要频繁(更新)地传到我的机上,这样不是要每次都进行这样的操作?而且Index可能对原有的数据库有用呢?
      

  9.   

    用COPY TO 命令是解决你的问题最简单方法,如用DELPHI去掉
    表的INDEX标示,要用DELPHI底层函数,比较复杂,你可在网上
    找一下。
      

  10.   

    你用VFP编一个程序,编译成EXE执行即可生成一新库。
      

  11.   

    我用COPY TO FILENAME TYPE FOX2X,去掉索引信息后,用table可以打开了,但是其中的中文全变成了“#”,这是怎么回事?去掉索引信息的表用vfp打开是正确的,为什么?
      

  12.   

    而且,我用vfp打开了这个表,发现其中确实有索引字段,但是其他的表也有索引字段,但是能直接用table直接连上,这是为什么?
      

  13.   

    你的TABLE1。TABLETYPE是什么?因为别的表的INDEX文件存在,所以
    不会报错。既然可以打开此表,你可将索引信息去掉,当然是生成的
    新表。