⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c_client.pas

📁 《delphi数据库设计与实例开发》随书光盘
💻 PAS
字号:
unit c_client;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, DBCtrls, StdCtrls, Buttons, ExtCtrls, ComCtrls,
  DB, DBActns, ActnList;

type
  Tcfrm_client = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    DBGrid: TDBGrid;
    group: TRadioGroup;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    BitBtn5: TBitBtn;
    BitBtn6: TBitBtn;
    StatusBar1: TStatusBar;
    DataSource1: TDataSource;
    DBNavigator1: TDBNavigator;

    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);

    procedure groupClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
    procedure BitBtn6Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure ztljs;
  end;

var
  cfrm_client: Tcfrm_client;
  zrs,nzs,yzs:integer;//总办证数,年证数,月证数
implementation

uses datam,c_clientedit,c_clientsearch,c_exitclub;

{$R *.dfm}
procedure tcfrm_client.ztljs;
begin
  zrs:=dm.ADO_vip.RecordCount;
  cfrm_client.StatusBar1.Panels[2].text:=inttostr(zrs);
  dm.ADOQuery.Close;
  dm.ADOQuery.SQL.Clear;
  dm.ADOQuery.SQL.Add('select count(*) from vip where 证类型=''年证''');
  dm.ADOQuery.Open;
  cfrm_client.StatusBar1.panels[4].text:=dm.ADOQuery.Fields[0].AsString;
  //月证数量
  dm.ADOQuery.Close;
  dm.ADOQuery.SQL.Clear;
  dm.ADOQuery.SQL.Add('select count(*) from vip where 证类型=''月证''');
  dm.ADOQuery.Open;
  cfrm_client.StatusBar1.panels[6].text:=dm.ADOQuery.Fields[0].AsString;
  //押金合计
  dm.ADOQuery.Close;
  dm.ADOQuery.SQL.Clear;
  dm.ADOQuery.SQL.Add('select sum(押金) from vip');
  dm.ADOQuery.Open;
  cfrm_client.StatusBar1.panels[8].text:=dm.ADOQuery.Fields[0].AsString+'元';


end;


procedure Tcfrm_client.FormCreate(Sender: TObject);
begin
 dm.ADO_vip.Open;
  dm.ADO_vip.Sort:='证号';
  dm.ADO_vip.First;
end;

procedure Tcfrm_client.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  dm.ADO_vip.close;
  dm.ADOQuery.Close;
  dm.ADOQuery.SQL.Clear;
  release;
end;

procedure Tcfrm_client.groupClick(Sender: TObject);
begin
case group.ItemIndex of
     0:dm.ADO_vip.Sort:='证号';
     1:dm.ADO_vip.Sort:='姓名';
     2:dm.ADO_vip.Sort:='办证日期';
  end;
end;



procedure Tcfrm_client.FormShow(Sender: TObject);
begin
inherited;
  ztljs;
  dbgrid.SetFocus();
end;

procedure Tcfrm_client.BitBtn1Click(Sender: TObject); //新建会员
begin
  dm.ADO_vip.Append;
  dm.ADO_vip.FieldByName('性别').AsString:='男';
  dm.ADO_vip.FieldByName('证类型').AsString:='年证';
  dm.ADO_vip.FieldByName('押金').AsString:='0.00';
  cfrm_clientedit:=tcfrm_clientedit.create(application);
  cfrm_clientedit.Bitbtn1.tag:=0;
  cfrm_clientedit.showmodal;
end;

procedure Tcfrm_client.BitBtn2Click(Sender: TObject);  //编辑会员信息
begin
 cfrm_clientedit:=tcfrm_clientedit.create(application);
  cfrm_clientedit.BitBtn1.tag:=1;
  {检测会员有无租借信息,如果有租借信息则不允许修改其会员证号}
  dm.ADO_czdt.Open;
  dm.ADO_czdt.First;
  if dm.ADO_czdt.Locate('证号',dm.ADO_vip.fieldbyname('证号').AsString,[]) then
    begin
       cfrm_clientedit.e_id.Enabled:=false;
       dm.ADO_czdt.Close;
    end;
  dm.ADO_czdt.Close;
  //
  cfrm_clientedit.showmodal;
end;

procedure Tcfrm_client.BitBtn3Click(Sender: TObject); //删除会员信息
var
 mes:string;
begin
  dm.ADO_czdt.Open;
  dm.ADO_czdt.First;
  if dm.ADO_czdt.Locate('证号',dm.ADO_vip.fieldbyname('证号').AsString,[]) then
    begin
      mes:='办证会员 <'+dm.ADO_vip.fieldbyname('姓名').AsString
           +'> 还有租借的影碟未还,不能删除!';
      application.MessageBox(pchar(mes),pchar('提示')
       ,+MB_ICONQUESTION);
       dm.ADO_czdt.Close;
      exit;
    end;
  dm.ADO_czdt.Close;
  mes:='是否要删除办证会员< '+dm.ADO_vip.fieldbyname('证号').AsString+'  '
  +dm.ADO_vip.fieldbyname('姓名').AsString
       +'>';
 if application.MessageBox(pchar(mes),pchar('等待确认')
    ,+MB_ICONQUESTION+mb_okcancel+MB_DEFBUTTON2)=idok then
     begin
      dm.ADO_vip.Delete;//删除会员记录
      dm.ADOQ_cx.Close;
      dm.ADOQ_cx.SQL.Clear;
      dm.ADOQ_cx.SQL.add('delete from cashbook where 证号='+''''+dm.ADO_vip.fieldbyname('证号').AsString+'''');
      dm.ADOQ_cx.ExecSQL;//删除现金收支记录
      dm.ADOQ_cx.Close;
      dm.ADOQ_cx.SQL.Clear;
      dm.ADOQ_cx.SQL.add('delete from qkb where 证号='+''''+dm.ADO_vip.fieldbyname('证号').AsString+'''');
      dm.ADOQ_cx.ExecSQL;//删除欠款记录
      dm.ADOQ_cx.Close;
      ztljs;
     end;

end;

procedure Tcfrm_client.BitBtn5Click(Sender: TObject);
begin
 cfrm_clientsearch:=tcfrm_clientsearch.create(application);
  cfrm_clientsearch.showmodal;
end;

procedure Tcfrm_client.BitBtn6Click(Sender: TObject);
begin
 cfrm_exitclub:=tcfrm_exitclub.create(application);
 cfrm_exitclub.showmodal;
end;



end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -