SQLString:='delete tmpheka1';
  with Form1.ADOQuery7 do
  begin
    close;
    SQL.Clear;
    SQL.Add('Use ZhuYuan;') ;
    SQL.Add(SQLString);
    Open;
  end;不行,返回错误:ADOQuery7 CommandText does not return a result set  Form1.ADOTable1.TableName:='tmpheka1';
  Form1.ADOTable1.Open;
  Form1.ADOTable1.First;
  if Form1.ADOTable1.RecordCount>0 then
  begin
    while not Form1.ADOTable1.Eof do
    begin
      Form1.ADOTable1.Delete ;
    end;
   end;
 也不行,我都快疯了

解决方案 »

  1.   

    with Form1.ADOQuery7 do
      begin
        close;
        SQL.Clear;
        SQL.Add(' 'delete from tmpheka1'') ;
        execSQL;
      end;
      

  2.   

    SQLString:='delete tmpheka1';
      with Form1.ADOQuery7 do
      begin
        close;
        SQL.Clear;
        SQL.Add('Use ZhuYuan;') ;
        SQL.Add(SQLString);
        execsql;
      end;
      

  3.   

    凡是delete ,update,insert ,adoquery 都用adoquery.exesql
      

  4.   

    SQL语句写的有问题吧:
    with adoquery1 do
    begin
     close;
     sql.clear;
     sql.add('delete from tableName');
     execsql;
    end;
      

  5.   

    delete from your_table_name
    就可以啊
    删除表的
    drop table your_table_name
      

  6.   

    同意 sy_315(夏雨) ( 你的sql语句写错了。又不是DOS命令。。
      

  7.   

    如果不返回数据集合,不能用query.open方法,应该用execsql,
    返回错误:ADOQuery7 CommandText does not return a result set
    就是这个意思.
      

  8.   

    插入,删除,不能用query.open方法,应该用query.execsql。查询用query.open。
    with query do
    begin
     close;
     sql.clear;
     sql.add('delete from tableName');
     execsql;
    end;
      

  9.   


      同意上几位的说法,你的SQL Server 语句错误,不能用query.open方法,应该用execsql,  同时在这儿提供删除语句方法:
      1: ADOTabel, ADOQuery 控件的方法 Delete 是对一条记录删除的;
        var i,n:integer ;
        begin
             n :=ADOtable1.recordcount ;
             for i:=0 to n -1 d
                 ADOtable1.delete ;
        end;
      2:ADOQuery 控件 使用SQL 语句
        with ADOQuery1 do begin
           Close;
           try
               SQL.clear ;
               SQL.text :=' Delete From ZhuYuan ';// 可加条件 where 
               // SQL.text :='TRUNCATE TABLE ZhuYuan ' ; // 比使用 上条 SQL 语句 Delete 还快,对删除上千上万条记录特有用;
               ExecSQL ;
           except
           end;
        end;