【delphi开源代码栏目提醒】:本文主要为网学会员提供MC_QTKMSD.pas,希望对需要MC_QTKMSD.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('添加