建一个公共删除按钮,当激活ADOTable6时,可以删除ADOTable6的记录;当激活ADOQuery25时,可以删除ADOQuery25的记录.....等等,应怎样设置?

d_delphi 2001-12-20 04:09:00
建一个公共删除按钮,当激活ADOTable6时,可以删除ADOTable6的记录;当激活ADOQuery25时,可以删除ADOQuery25的记录.....等等,应怎样设置?
...全文
60 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
3fly 2001-12-21
  • 打赏
  • 举报
回复
ADO的父类就是TDataSet(请看ADO继承关系 TADOQuery << TCustomADODataSet << TDataSet),所以ADO和BDE是一样可用上面的代码实现(请看BDE继承关系 TQuery << TDBDataSet << TBDEDataSet << TDataSet)
如果用ADO的话,怎么样设置??? <- 你要设什么?只要你写上了上面的代码,不用设什么啊!只要你用ADO连上了数据库就可以了,不论你在Form1上放多少DBGrid;不论这些DBGrid对应多少TADODataSource,只要你的输入焦点在某一DBGrid上,你点Button1,此DBGrid对应的TADOQuery就会Insert一条记录,Do you know?
d_delphi 2001-12-20
  • 打赏
  • 举报
回复
楼上说的有点深奥,我是菜鸟,我看不懂,如果用ADO的话,怎么样设置?
3fly 2001-12-20
  • 打赏
  • 举报
回复
type
TNowDataSetAction = class(TDataSetAction)
private
FNowDataSet: TDataSet;
function GetNowDataSet: TDataSet;
public
procedure ExecuteTarget(Target: TObject); override;
published
property NowDataSet: TDataSet read GetNowDataSet;
end;

var
Form1: TForm1;
test: TNowDataSetAction;

implementation

{$R *.DFM}

{ TNowDataSetAction }

procedure TNowDataSetAction.ExecuteTarget(Target: TObject);
begin
inherited;
FNowDataSet := GetDataSet(Target);

end;

function TNowDataSetAction.GetNowDataSet: TDataSet;
begin
Self.Execute;
Result := FNowDataSet;

end;

procedure TForm1.FormCreate(Sender: TObject);
begin
test := TNowDataSetAction.Create(Self);

end;

procedure TForm1.Button1Click(Sender: TObject);
var
tmpDataSet: TDataSet;
begin
tmpDataSet := test.NowDataSet;
if Assigned(tmpDataSet) then
begin
tmpDataSet.Insert;
end;

end;

end.
3fly 2001-12-20
  • 打赏
  • 举报
回复
我的解决办法是建一TNowDataSetAction = class(TDataSetAction)类,继承自TDataSetAction,TDataSetAction有一protected function为GetDataSet可获得当前的DataSet

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧