用Delphi写MIS类程序(十)

3.通用数据表处理

3.1 最简单的数据表处理方案

在第一章中我们建立了一个子窗体的管理机制,现在我们就要利用这一机制来管理我们第一个真正有用的数据表处理窗体,方法与第一章中生成ChildFormC一样,我们先生成一个子窗体,把它保存为ChildFormDBA.pas,并将此窗体命名为frmChildDBA。接着要在MDI_Tutorial.dpr中删除掉Application.CreateForm(TfrmChildDBA, frmChildDBA);,再修改一下ChildFormDBA.pas中的内容,加上以下的内容:

…..

implementation

uses

  FormClassMgrUnit;

{$R *.dfm}

initialization

  GFormClassMgr.Add(TfrmChildDBA);

end.

最后,在主窗体中增加一个菜单,在菜单的响应事件中加入

procedure TfrmMain.mnChildDBAClick(Sender: TObject);

begin

  inherited;

  CallChildForm(Sender, 'TfrmChildDBA');

end;

现在,我们可以试一下运行程序,如果没有错误的话,那么应该能够正确打开这个新的窗体的。

现在我们先在数据库中准备两个表,一个是tb_user(用户表),另一个是tb_department(部门表),这两个表的结构及数据如下:

 

 

 

 

 

现在我们准备在frmChildDBA中管理tb_user中的数据,现在我们如下图所示在窗体上面添加一些控件,

 

并作如下相应的设置:

    Panel1: TPanel;

    gdMain: TDBGrid;

    btnADD: TButton;

    btnRemove: TButton;

    dsMain: TDataSource;

    aqMain: TADOQuery;

然后设置gdMainDataSourcedsMain,设置dsMain中的DataSetaqMain,设置btnAddbtnRemove的响应事件,还有FormCreate的事件,修改后的ChildFormDBA.pas内容如下:

 

……

uses

  BaseConfUnit, FormClassMgrUnit;

{$R *.dfm}

procedure TfrmChildDBA.btnADDClick(Sender: TObject);

begin

  inherited;

  aqMain.Insert;

end;

 

procedure TfrmChildDBA.btnRemoveClick(Sender: TObject);

begin

  inherited;

  aqMain.Delete;

end;

 

procedure TfrmChildDBA.FormCreate(Sender: TObject);

begin

  inherited;

  self.aqMain.Connection := GBaseConf.MainConnection;

  self.aqMain.SQL.Add('select * from tb_user');

  self.aqMain.Open;

end;

 

initialization

  GFormClassMgr.Add(TfrmChildDBA);

end.

现在再运行一下程序,正常情况下,程序应能正常地工作。

以上是一个十分简单的程序,应该不说明大家也会很容易就知道其如何工作的。如果不明白那么看一下其它的一些教程就可以了。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值