我在
ADOQuery1.ConnectionString :='driver={microsoft visual foxpro driver};sourcetype'+'=dbf;sourcedb='+ExtractFilePath(ParamStr(0))+';Exclusive=no';ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from "h:\qs\sjsgf.dbf" order by gfgddm');
ADOQuery1.Open;这段代码的时候,当执行到最后一句的时候报错:
A connection component is required for async ExecuteOptions.
请问是何原因呀。

解决方案 »

  1.   

    ADOQuery1.SQL.Add('select * from "sjsgf.dbf" order by gfgddm');
    ADOQuery1.Open;
    在ADOCONNECTION中应该设置表所在的目录
      

  2.   

    ADOQuery1.SQL.Add('select * from sjsgf.dbf order by gfgddm');
      

  3.   

    如你的ADO是通过ODBC连DBF的话,在ODBC中设置数据源,在设置时
    应该有表所在目录,设置完后TEST,看是否成功。
      

  4.   

    ADOQuery1.ConnectionString :='driver={microsoft visual foxpro driver};sourcetype'+'=dbf;sourcedb='+ExtractFilePath(ParamStr(0))+';Exclusive=no';  ADOQuery1.SQL.Clear;
      ADOQuery1.SQL.Add('delete from "h:\qssj\sjsgf.dbf"');
      ADOQuery1.ExecSQL;  ADOQuery1.SQL.Clear;
      ADOQuery1.SQL.Add('select * from "h:\qs\sjsgf.dbf" order by gfgddm');
      ADOQuery1.Open;
    我的代码是这样写的,如果是路径的问题,可为什么前边的的delete from "h:\qssj\sjsgf.dbf"这条语句又能正确执行呢。
      

  5.   

    在执行第二个ADOQUERY之前,先CLOSE试试
      

  6.   

    用下面的方法试试
    ADOConnection1.ConnectString:='driver={microsoft visual foxpro driver};sourcetype'+'=dbf;sourcedb='+ExtractFilePath(ParamStr(0))+';Exclusive=no';
    ADOConnection1.ConnectionOptions:=coAsyncConnect;
    ADOQuery1.Connect:=ADOConnection1;
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('select * from "h:\qs\sjsgf.dbf" order by gfgddm');
    ADOQuery1.Open;
      

  7.   

    加上这句后  DataSource1.DataSet := ADOQuery1; 
    还是报同样的错!
      

  8.   

    ADOConnection1.LoginPrompt := False;
    如果你只想把VFP数据倒入SQL Server 的话,参考以下贴子
    转自大富翁http://www.delphibbs.com/delphibbs/dispq.asp?lid=1691966