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

📄 mc_qtkmsd.~pas

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

interface

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

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

var
  QTKMSD: TQTKMSD;

implementation

{$R *.DFM}

procedure TQTKMSD.BitBtn2Click(Sender: TObject);
begin
     if Table1.RecordCount<>0 then
     if MessageDLg('是否删除当前信息?',mtCustom,[mbYes,mbNO],0)=mrYes then
        Table1.Delete;
end;

procedure TQTKMSD.BitBtn1Click(Sender: TObject);
begin
     if (Length(Edit1.Text)=0) or (Length(Edit1.Text)=0) then
        ShowMessage('请将信息添全!')
     else
        begin
             Try
                Table1.AppendRecord([Edit1.Text,StrToFloat(Edit2.Text)]);
             Except
                ShowMessage('非法数据,添加失败.');
             end;
        end;
end;

procedure TQTKMSD.FormClose(Sender: TObject; var Action: TCloseAction);
begin
     QTKMSD.Release;
     QTKMSD:=Nil;
end;

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

procedure TQTKMSD.BitBtn5Click(Sender: TObject);
begin
     if Query2.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
                     Query4.Close;
                     Query4.SQL.Clear;
                     Query4.SQL.Add('Select * From 房屋信息表 Where 房间编号=:A');
                     Query4.ParamByName('A').AsString:=Query3.FieldByName('水表编号').AsString;
                     Query4.Open;
                     Query1.Close;
                     Query1.SQL.Clear;
                     Query1.SQL.Add('Insert 其它费用表(收费编号,户主姓名,建筑面积,使用面积,公有面积,私有面积,标准名称,标准金额,费用科目,收费金额,计费起始日期,应收金额,实收金额,剩余金额,减免金额,原因)');
                     Query1.SQL.Add('Values(:A,:B,:C,:D,:E,:F,:G,:H,:I,:J,:K,:N,:O,:P,:Q,:R)');
                     Query1.ParamByName('A').AsString:=Query3.FieldByName('水表编号').AsString;
                     Query1.ParamByName('B').AsString:=Query3.FieldByName('户主姓名').AsString;
                     Query1.ParamByName('C').AsFloat:=Query4.FieldByName('建筑面积').AsFloat;
                     Query1.ParamByName('D').AsFloat:=Query4.FieldByName('使用面积').AsFloat;
                     Query1.ParamByName('E').AsFloat:=Query4.FieldByName('公产面积').AsFloat;
                     Query1.ParamByName('F').AsFloat:=Query4.FieldByName('私产面积').AsFloat;
                     Query1.ParamByName('G').AsString:='空';
                     Query1.ParamByName('H').AsFloat:=Table1.FieldByName('费用标准').AsFloat;
                     Query1.ParamByName('I').AsString:=Table1.FieldByName('科目名').AsString;
                     Query1.ParamByName('J').AsFloat:=0;
                     Query1.ParamByName('K').AsDateTime:=date;
                     Query1.ParamByName('N').AsFloat:=0;
                     Query1.ParamByName('O').AsFloat:=0;
                     Query1.ParamByName('P').AsFloat:=0;
                     Query1.ParamByName('Q').AsFloat:=0;
                     Query1.ParamByName('R').AsString:='空';
                     Query1.ExecSQL;
                     Query3.Next;
                   end;
             ShowMessage('添加完毕');
             Query2.close;
             Query2.Open;
        end;
end;

procedure TQTKMSD.BitBtn3Click(Sender: TObject);
begin
     Close;
end;

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

end.

⌨️ 快捷键说明

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