我想知道3中情况
1:删除最后1行内容2:删除全部内容3:删除指定标示行(引索)行

解决方案 »

  1.   

    很简单的procedure TForm1.FormCreate(Sender: TObject);
    var
      str:String;
    begin
      //删除全部内容量
      with adoquery1 do
      begin
        Close;
        Sql.Clear;
        Sql.Add('Delete * From 表名');
        ExecSQL;
      end;  //删除指定标识行
      with adoquery1 do
      begin
        Close;
        Sql.Clear;
        Sql.Add('Delete * From 表名 Where 标识 = '+QuotedStr(edit1.Text));
        ExecSQL;
      end;  //删除最后一行
      with ADOQuery1 do
      begin
        close;
        sql.Clear;
        sql.Add('Select * From 表名');
        Open;
        Last;
        str:=FieldByName('行号').AsString;
      end;
      with adoquery1 do
      begin
        Close;
        Sql.Clear;
        Sql.Add('Delete * From 表名 Where 行号 = '+QuotedStr(str));
        ExecSQL;
      end;
    end;
      

  2.   

    二楼说了sql的,我说一下adotable的
    1:删除最后1行内容
       adotable1.last;
       adotable1.delete; 2:删除全部内容 
       adotable1.DeleteRecords(arall);3:删除指定标示行(引索)行
      if adotable1.locate('fieldname',fieldvalue,[]) then
         adotable1.delete;
      

  3.   

    //删除最后一行
      with ADOQuery1 do
      begin
        close;
        sql.Clear;
        sql.Add('Select * From 表名');
        Open;
        Last;
        str:=FieldByName('行号').AsString; ---------------------FieldByName出错了(怎么回事?)     
      end;
      with adoquery1 do
      begin
        Close;
        Sql.Clear;
        Sql.Add('Delete * From 表名 Where 行号 = '+QuotedStr(str));
        ExecSQL;
      end;
    end;
      

  4.   

      //删除全部内容量
      with adoquery1 do
      begin
        Close;
        Sql.Clear;
        Sql.Add('Delete * From 表名');  //---------这里有问题 “提示:第1行'*'这语法错误”
        ExecSQL;
      end;
      

  5.   

    我的 索引列 是INT类型的
      

  6.   

    删除表全部数据如果不记入日至的话使用TRUNCATE TABLE 表名  效率更高一些