我在使用TQuery时在
执行到Sql.Clear出错Project MyProgram.exe faulted with message: 'access violation at 0x4da2ef6d: read of address 0xffcd8357'. Process Stopped. Use Step or Run to continue.请问这是为什么?多谢!

解决方案 »

  1.   

    你的TQuery组件是不是在程序中创建的?如果创建了可能是已经释放
      

  2.   

    可以试试 Sql.TEXT := '';
      

  3.   

    TQuery是在窗体上的控件,没有释放.
    用Sql.Text:='' 也会出错.whit MyQury do 
      close;
      Sql.Clear;
      Sql.add('select * From Item_main');
      Prepare;
      Open;
    end;
      

  4.   

    直接这样试试:
    whit MyQury do 
      close;
      Sql.text:='select * From Item_main';
      Prepare;
      Open;
    end;
      

  5.   

    keke
    都提示你用f7了,自己找~~
      

  6.   

    你忘了加begin ...end 了.
    另外建议你采用下面的写法.
    with Query do
    begin
         if Active then 
              Close;
         Sql.Clear;
         .......
       
    end;
      

  7.   

    好像是没有beging和end
    如果实在还是不行的话,把代码多贴点出来看看
      

  8.   

    with MyQury do 
    begin
      close;
      Sql.Clear;
      Sql.add('select * From Item_main');
      Prepare;
      Open;
    end;
    应该是没有begin的原因
      

  9.   

    出错信息是指针出错:
    请问你的TQUERY和你的语句都是在主窗体(Form1)上?最好把整个源程序放出来