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

📄 mc_kmsd.~pas

📁 1、系统环境要求:所有程序均在Windows98/XP操作系统下测试运行。 2、建议用户在系统上安装DELPHI7.0企业版。 3、如果数据库为SQL Server数据库
💻 ~PAS
字号:
unit MC_KMSD;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Db, StdCtrls, Mask, DBCtrls, DBTables, ExtCtrls, Grids, DBGrids, Buttons;

type
  TKMSD = class(TForm)
    GroupBox1: TGroupBox;
    Table1: TTable;
    Table1BDEDesigner: TStringField;
    Label1: TLabel;
    DBEdit1: TDBEdit;
    DataSource1: TDataSource;
    Bevel1: TBevel;
    DBGrid1: TDBGrid;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    Table1BDEDesigner2: TFloatField;
    Label2: TLabel;
    DBEdit2: TDBEdit;
    GroupBox2: TGroupBox;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    DBGrid2: TDBGrid;
    DataSource2: TDataSource;
    Query1: TQuery;
    BitBtn5: TBitBtn;
    Query2: TQuery;
    BitBtn6: TBitBtn;
    Query3: TQuery;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn6Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  KMSD: TKMSD;

implementation

{$R *.DFM}

procedure TKMSD.BitBtn1Click(Sender: TObject);    //添加或保存操作
begin
  if BitBtn1.Caption='添加[&I]' then     //添加科目
  begin
    Table1.Append;
    DBEdit1.SetFocus;
    BitBtn1.Caption:='保存[&S]';
    BitBtn2.Caption:='取消[&U]';
    DBGrid1.Enabled:=False;
  End
  Else      //保存科目
  begin
   if (Length(DBEDit1.Text)=0)
   or (Length(DBEdit2.Text)=0) then
   begin
    showMessage('请输入新科目名和费用标准.');
   End
   Else
   begin
    BitBtn1.Caption:='添加[&I]';
    BitBtn2.Caption:='删除[&D]';
    DBGrid1.Enabled:=True;
    Table1.Post;
   end;
  end;
end;

procedure TKMSD.BitBtn2Click(Sender: TObject);   //取消或删除操作
begin
  if BitBtn2.Caption='取消[&U]' then
  begin
    DBGrid1.Enabled:=False;
    BitBtn1.Caption:='添加[&I]';
    BitBtn2.Caption:='删除[&D]';
    Table1.Cancel;
  End
  Else
  begin
    If Table1.RecordCount <> 0 Then
    if MessageDLG('是否删除['+Table1.FieldByname('科目名').AsString+']的信息?'
          ,mtCustom,[mbYes,mbNO],0)=mrYes then
    Table1.Delete;
  end;
end;

procedure TKMSD.BitBtn6Click(Sender: TObject);   //更新现收费标准
begin
  if MessageDLG('是否更新['+Table1.FieldByName('科目名').AsString+']的费用信息'
  ,mtCustom,[mbYes,mbNo],0)=mrYes then
  begin
    Query2.Close;
    Query2.SQL.Clear;
    Query2.SQL.Add('Update 常用费用 Set 收费金额=:B where 费用科目=:A');  //更新选定科目收费
    Query2.ParamByName('A').AsString:=Table1.FieldByName('科目名').AsString;
    Query2.ParamByName('B').AsFloat:=Table1.FieldByName('费用标准').AsFloat;
    Try
    Query2.ExecSQL; 
    ShowMessage('更新完毕.');
    Except
    ShowMessage('更新失败.');
    end;
  end;
end;

procedure TKMSD.BitBtn4Click(Sender: TObject);  //删除现有收费项
begin
  If Query1.RecordCount <> 0 Then
  if MessageDLG('是否删除['+Query1.FieldByName('费用科目').AsString+']的信息?'
  ,mtCustom,[mbYes,mbNo],0)=mrYes then
  if MessageDLG('用户的剩余金额也会被删除,您真确认删除吗?',mtCustom
  ,[mbYes,mbNo],0)=mrYes then
  begin
    Query2.Close;
    Query2.SQL.Clear;
    Query2.SQL.Add('Delete 常用费用 Where 费用科目=:A');  //删除选中费用科目
    Query2.ParamByName('A').AsString:=Query1.FieldByName('费用科目').AsString;
    Try
    Query2.ExecSQL;
    Query1.Close;
    Query1.Open;
    Except
    ShowMessage('删除失败.');
    end;
  end;
end;

procedure TKMSD.BitBtn5Click(Sender: TObject);  //添加新收费项
begin
  if Query1.Locate('费用科目',Table1.FieldByName('科目名').AsString,[loCaseInsensitive]) then
  ShowMessage('科目已经存在')
  Else
  if MessageDLg('是否将['+Table1.FieldByName('科目名').AsString
  +']的科目信息添加到常用费用表中,并为其用户初始化信息?',mtCustom
  ,[mbYes,mbNo],0)=mrYes then
  begin
    Query3.Close;
    Query3.Open;
    while not Query3.Eof do
    begin
      Query2.Close;
      Query2.SQL.Clear;
      Query2.SQL.Add('Insert 常用费用(收费编号,户主姓名,费用科目,收费金额,计费起始日期,计费终止日期,应收金额,实收金额,剩余金额)');
      Query2.SQL.Add('Values(:A,:B,:C,:D,:E,:F,:G,:H,:I)');
      Query2.ParamByName('A').asString:=Query3.FieldByName('水表编号').AsString;
      Query2.ParamByName('B').asString:=Query3.FieldByName('户主姓名').AsString;
      Query2.ParamByName('C').asString:=Table1.FieldByName('科目名').AsString;
      Query2.ParamByName('D').asFloat:=Table1.FieldByName('费用标准').AsFloat;
      Query2.ParamByName('E').AsDateTime:=Date;
      Query2.ParamByName('F').AsDateTime:=Date;
      Query2.ParamByName('G').asFloat:=0;
      Query2.ParamByName('H').asFloat:=0;
      Query2.ParamByName('I').asFloat:=0;
      Query2.ExecSQL;
      Query3.Next;
    end;
    ShowMessage('添加完毕');
    Query1.close;
    Query1.Open;
  end;
end;
procedure TKMSD.BitBtn3Click(Sender: TObject);
begin
  Close;
end;
procedure TKMSD.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  KMSD.Release;
  KMSD:=Nil;
end;
end.


⌨️ 快捷键说明

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