删除选中记录

本文介绍了使用Delphi进行数据库操作的两种方法来删除选中的记录。一种是通过独立事件的单独写法,另一种是通过定义类的方法实现。两种方式均实现了从指定表中删除标记为选中的记录,并刷新了数据视图。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

方法1:独立事件单独写法

procedure TForm3.N13Click(Sender: TObject);
var
MyAdoq:TADOQuery;
begin
  MyAdoq := TADOQuery.Create(nil);
  try
    MyAdoq.Connection := frmDataPool.ADOConnection1;
    with MyAdoq do
    begin
      SQL.Text := 'DELETE from 需要做的事 where 选中 = true';
      ExecSQL;
    end;
    //防止程序假死
    Application.ProcessMessages;
    //刷新纪录
    frmDataPool.qry需要做的事.Close;
    frmDataPool.qry需要做的事.Open;
  finally
    MyAdoq.Free;
  end;
end;

 

方法2:类写法

 

unit UDeleteSelectTrue;

interface
uses  FDataPool, Data.DB, Data.Win.ADODB, Vcl.Menus,  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ComCtrls,
  Vcl.ExtCtrls, Vcl.DBCtrls, Vcl.Grids, Vcl.DBGrids, Clipbrd,
  Vcl.StdCtrls;
type TDeleteSelectTrue = class
  public
  class procedure deletetruerecord(var sAdq:TADOQuery);
end;

implementation
 class procedure TDeleteSelectTrue.deletetruerecord(var sAdq: TADOQuery);
  var
  ABiao: string;
 begin
  ABiao:=copy(sAdq.name,4,length(sAdq.name)-3);
  try
    with TADOQuery.Create(nil) do
    begin
      Connection := frmDataPool.ADOConnection1;
      if messagedlg('删除选中记录?',mtconfirmation,[mbyes,mbno],0)<>mryes then
       Abort
      else
      begin
      SQL.Text := 'DELETE FROM ' + ABiao + ' WHERE 选中 = true';
      //showmessage(sql.text);
      ExecSQL;
      end;
    end;
    //防止程序假死
    Application.ProcessMessages;
    //刷新纪录
    sAdq.Requery();
 finally
 TADOQuery.Create(nil).Free;
 end;
 end;
end.

 

 

 

类引用:uses语句中添加类单元名(UDeleteSelectTrue);

procedure TForm3.N13Click(Sender: TObject);
begin
TDeleteSelectTrue.deletetruerecord(frmDataPool.qry需要做的事);  //删除选中记录
end;

 

转载于:https://www.cnblogs.com/ddxxxb/p/7061599.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值