我用ADOQUERY读区DBF的数据时,负数变成了正数。
那位高手告诉我怎么解决这个问题咯

解决方案 »

  1.   

    谢谢各位了
    我刚刚使用DBASE做驱动就解决了这个问题,但又有新的问题:
    当我改成DBASE后就不支持中文了,而且在动态建立表时不能对数值型指定长度与小数位了,请问这个问提怎么解决啊!!!!!!!!!
    晕了啊!!!!!!
    (操作的是DBF表)
      //constr 连接字符串
      //trim(sjy.text)数据表路径
      constr :=   'Provider=MSDASQL.1;Password="";Persist Security Info=True;'
                + 'Extended Properties="DSN=Visual FoxPro Tables;UID=;PWD=;'
                + 'Exclusive=No;BackgroundFetch=Yes;Collate=Machine;Null=Yes;'
                + 'Deleted=Yes;SourceType=DBF;SourceDB=';
      constr := constr+trim(sjy.Text) + ';"'; 
      adoquery2.ConnectionString := constr;  constr:='Provider=MSDASQL.1;Persist Security Info=False;'
              +'Extended Properties="DSN=dBASE Files;DBQ='+trim(sjy.Text)
              +';DefaultDir='+trim(sjy.Text)
              +';DriverId=533;MaxBufferSize=2048;PageTimeout=5;" ';
      adoquery2.ConnectionString := constr;
      

  2.   

    对不起
    说明一下:
    /*以前的连接字符串*/  
    constr :=   'Provider=MSDASQL.1;Password="";Persist Security Info=True;'
                + 'Extended Properties="DSN=Visual FoxPro Tables;UID=;PWD=;'
                + 'Exclusive=No;BackgroundFetch=Yes;Collate=Machine;Null=Yes;'
                + 'Deleted=Yes;SourceType=DBF;SourceDB=';
      constr := constr+trim(sjy.Text) + ';"'; 
      adoquery2.ConnectionString := constr;  
    /*修改后的连接字符串*/ 
    constr:='Provider=MSDASQL.1;Persist Security Info=False;'
              +'Extended Properties="DSN=dBASE Files;DBQ='+trim(sjy.Text)
              +';DefaultDir='+trim(sjy.Text)
              +';DriverId=533;MaxBufferSize=2048;PageTimeout=5;" ';
      adoquery2.ConnectionString := constr;