我用ADOQuery.LoadFromFile('aa.txt')取得记录,aa.txt是SaveToFile来的。
但我用代码动态改写SQL.text := 'select * from a'再Open ADOQuery时出错:
文件名,目录名或卷标语法不正确。
为什么?怎么办?要求不能动态产生对象ADOQuery,必须在设计时加入。
先谢谢了!

解决方案 »

  1.   

    在SQL.text := 'select * from a'之前加 
    ADOQuery.Close;
    ADOQuery.SQL.Clear;
    试试看
      

  2.   

    先说明你的a是库还是什么
    a的内容和aa.txt有联系吗?
      

  3.   

    如果是TADODataSet的话,SaveToFile的文件可以用commandtype:=cmdFile;
    commandText:='文件名';至于TADOQuery,我不知道
      

  4.   

    ADOQuery1.LoadFromFile('FileName');
      ADOQuery1.Active:=true;
    就可以了,不用要sql语句
      

  5.   

    多谢参与!我再说清楚点。
    我先在设计时是这么做的,设置属性:
    ADOQuery.sql.text := 'select * from a';
    编辑其中一些记录后SaveToFile('aa.txt');
    然后关闭ADOQuery,再LoadFromFile('aa.txt');由于我现在又想从数据库里查找符合一定条件的记录,所以要重新设置:
    ADOQuery.sql.text := 'select * from a where...',
    这时候再Open就出错了。
      

  6.   

    ADOQuery1.LoadFromFile('FileName');
    Filtered:=true;
    Filtered:='条件';
    ADOQuery1.Active:=true;
    至于SQL语句,应该是不能执行