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

📄 mc_fysqxz.pas

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

interface

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

type
  TFYSQXZ = class(TForm)
    GroupBox1: TGroupBox;
    DBLookupComboBox1: TDBLookupComboBox;
    GroupBox2: TGroupBox;
    DBGrid1: TDBGrid;
    GroupBox3: TGroupBox;
    ListBox1: TListBox;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    DataSource1: TDataSource;
    DataSource2: TDataSource;
    Table2: TTable;
    Table2BDEDesigner2: TStringField;
    Table2BDEDesigner5: TIntegerField;
    Table2BDEDesigner6: TStringField;
    Table2BDEDesigner7: TStringField;
    Table2BDEDesigner: TStringField;
    Query1: TQuery;
    Query1BDEDesigner: TStringField;
    Query1BDEDesigner2: TStringField;
    DBGrid2: TDBGrid;
    Table1: TTable;
    Table1BDEDesigner: TStringField;
    Table1BDEDesigner2: TStringField;
    Table1BDEDesigner3: TStringField;
    Table1BDEDesigner4: TStringField;
    Table1BDEDesigner5: TStringField;
    Table1BDEDesigner6: TStringField;
    Table1BDEDesigner7: TStringField;
    DataSource3: TDataSource;
    Table1BDEDesigner8: TStringField;
    procedure BitBtn1Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FYSQXZ: TFYSQXZ;

implementation

uses MC_SDFSQ;

{$R *.DFM}

procedure TFYSQXZ.BitBtn1Click(Sender: TObject);
var ZD: String;
    ZDZ: Array of String;
    a:integer;
begin
     if ListBox1.Items.Count=0 then
        begin
             ShowMessage('请选择要浏览的大楼.');
        end
     else
        begin
             if not Assigned(SDFSQ) then
                begin
                     SDFSQ:=TSDFSQ.Create(Self);
                     SetLength(ZDZ,ListBox1.Items.Count);//分配动态变量,记得释放掉
                     ZD:='大楼名';
                     SDFSQ.Query2.Close;
                     SDFSQ.Query2.SQL.Clear;
                     SDFSQ.Query2.SQL.Add('Select * From 水费 ');
                     SDFSQ.Query2.SQL.Add('Where 水表编号 in (');
                     SDFSQ.Query2.SQL.Add('Select 房间编号 From 房屋信息表 ');
                     SDFSQ.Query2.SQL.Add('Where 房间编号=:A ');
                     SDFSQ.Query2.ParamByName('A').AsString:=ListBox1.Items.Strings[0];
                     For a:=1 to ListBox1.Items.Count-1 do
                     begin
                          ZDZ[a]:=ListBox1.Items.Strings[a];                     
                          SDFSQ.Query2.SQL.Add(' or 房间编号='''+ZDZ[a]+'''');
                     end;
                     SDFSQ.Query2.SQL.Add(')');
                     SDFSQ.Query2.Open;
                     //----------------------------------------------------------------
                     SDFSQ.StringGrid1.RowCount:=SDFSQ.Query2.RecordCount+1;
                     //For a:=1 To SDFSQ.Query2.RecordCount do
                     a:=1;
                     While Not SDFSQ.Query2.Eof do
                     begin
                          SDFSQ.StringGrid1.Cells[1,a]:=SDFSQ.Query2.FieldByName('水表编号').AsString;
                          SDFSQ.StringGrid1.Cells[2,a]:=SDFSQ.Query2.FieldByName('户主姓名').AsString;
                          SDFSQ.StringGrid1.Cells[3,a]:=SDFSQ.Query2.FieldByName('收费金额').AsString;
                          SDFSQ.StringGrid1.Cells[4,a]:=SDFSQ.Query2.FieldByName('计费起始日期').AsString;
                          SDFSQ.StringGrid1.Cells[5,a]:=SDFSQ.Query2.FieldByName('计费终止日期').AsString;
                          SDFSQ.StringGrid1.Cells[6,a]:=SDFSQ.Query2.FieldByName('上月读数').AsString;
                          SDFSQ.StringGrid1.Cells[7,a]:=SDFSQ.Query2.FieldByName('本月读数').AsString;
                          SDFSQ.StringGrid1.Cells[8,a]:=SDFSQ.Query2.FieldByName('使用数').AsString;
                          SDFSQ.StringGrid1.Cells[9,a]:=SDFSQ.Query2.FieldByName('应收金额').AsString;
                          SDFSQ.StringGrid1.Cells[10,a]:=SDFSQ.Query2.FieldByName('实收金额').AsString;
                          SDFSQ.StringGrid1.Cells[11,a]:=SDFSQ.Query2.FieldByName('本月余额').AsString;
                          a:=a+1;
                          SDFSQ.Query2.Next;
                     end;
//-------------------------------------------------------------------------------------------------------------
                     SDFSQ.Query2.Close;
                     SDFSQ.Query2.SQL.Clear;
                     SDFSQ.Query2.SQL.Add('Select * From 电费 Where');
                     SDFSQ.Query2.SQL.Add('电表编号 in (');
                     SDFSQ.Query2.SQL.Add('Select 房间编号 From 房屋信息表 Where 房间编号=:A');
                     SDFSQ.Query2.ParamByName('A').AsString:=ListBox1.Items.Strings[0];
                     For a:=1 to ListBox1.Items.Count-1 do
                     begin
                          ZDZ[a]:=ListBox1.Items.Strings[a];                     
                          SDFSQ.Query2.SQL.Add(' or 房间编号='''+ZDZ[a]+'''');
                     end;
                     SDFSQ.Query2.SQL.Add(')');
                     SDFSQ.Query2.Open;
                     //----------------------------------------------------------------
                     SDFSQ.StringGrid2.RowCount:=SDFSQ.Query2.RecordCount+1;
                     For a:=1 To SDFSQ.Query2.RecordCount do
                     begin
                          SDFSQ.StringGrid2.Cells[1,a]:=SDFSQ.Query2.FieldByName('电表编号').AsString;
                          SDFSQ.StringGrid2.Cells[2,a]:=SDFSQ.Query2.FieldByName('户主姓名').AsString;
                          SDFSQ.StringGrid2.Cells[3,a]:=SDFSQ.Query2.FieldByName('收费金额').AsString;
                          SDFSQ.StringGrid2.Cells[4,a]:=SDFSQ.Query2.FieldByName('计费起始日期').AsString;
                          SDFSQ.StringGrid2.Cells[5,a]:=SDFSQ.Query2.FieldByName('计费终止日期').AsString;
                          SDFSQ.StringGrid2.Cells[6,a]:=SDFSQ.Query2.FieldByName('上月读数').AsString;
                          SDFSQ.StringGrid2.Cells[7,a]:=SDFSQ.Query2.FieldByName('本月读数').AsString;
                          SDFSQ.StringGrid2.Cells[8,a]:=SDFSQ.Query2.FieldByName('使用数').AsString;
                          SDFSQ.StringGrid2.Cells[9,a]:=SDFSQ.Query2.FieldByName('应收金额').AsString;
                          SDFSQ.StringGrid2.Cells[10,a]:=SDFSQ.Query2.FieldByName('实收金额').AsString;
                          SDFSQ.StringGrid2.Cells[11,a]:=SDFSQ.Query2.FieldByName('本月余额').AsString;
                          SDFSQ.Query2.Next;
                     end;
//-------------------------------------------------------------------------------------------------------------
                     SDFSQ.Query2.Close;
                     SDFSQ.Query2.SQL.Clear;
                     SDFSQ.Query2.SQL.Add('Select * From 煤气费 Where');
                     SDFSQ.Query2.SQL.Add('煤气表编号 in (');
                     SDFSQ.Query2.SQL.Add('Select 房间编号 From 房屋信息表 Where 房间编号=:A');
                     SDFSQ.Query2.ParamByName('A').AsString:=ListBox1.Items.Strings[0];
                     For a:=1 to ListBox1.Items.Count-1 do
                     begin
                          ZDZ[a]:=ListBox1.Items.Strings[a];
                          SDFSQ.Query2.SQL.Add(' or 房间编号='''+ZDZ[a]+'''');
                     end;
                     SDFSQ.Query2.SQL.Add(')');
                     SDFSQ.Query2.Open;
                     //----------------------------------------------------------------
                     SDFSQ.StringGrid3.RowCount:=SDFSQ.Query2.RecordCount+1;
                     For a:=1 To SDFSQ.Query2.RecordCount do
                     begin
                          SDFSQ.StringGrid3.Cells[1,a]:=SDFSQ.Query2.FieldByName('煤气表编号').AsString;
                          SDFSQ.StringGrid3.Cells[2,a]:=SDFSQ.Query2.FieldByName('户主姓名').AsString;
                          SDFSQ.StringGrid3.Cells[3,a]:=SDFSQ.Query2.FieldByName('收费金额').AsString;
                          SDFSQ.StringGrid3.Cells[4,a]:=SDFSQ.Query2.FieldByName('计费起始日期').AsString;
                          SDFSQ.StringGrid3.Cells[5,a]:=SDFSQ.Query2.FieldByName('计费终止日期').AsString;
                          SDFSQ.StringGrid3.Cells[6,a]:=SDFSQ.Query2.FieldByName('上月读数').AsString;
                          SDFSQ.StringGrid3.Cells[7,a]:=SDFSQ.Query2.FieldByName('本月读数').AsString;
                          SDFSQ.StringGrid3.Cells[8,a]:=SDFSQ.Query2.FieldByName('使用数').AsString;
                          SDFSQ.StringGrid3.Cells[9,a]:=SDFSQ.Query2.FieldByName('应收金额').AsString;
                          SDFSQ.StringGrid3.Cells[10,a]:=SDFSQ.Query2.FieldByName('实收金额').AsString;
                          SDFSQ.StringGrid3.Cells[11,a]:=SDFSQ.Query2.FieldByName('本月余额').AsString;
                          SDFSQ.Query2.Next;
                     end;
//--------------------------------------------------------------------------------------
                     SDFSQ.Query2.Close;
                     ZDZ:=Nil;//释放内存空间
                     SDFSQ.ShowModal;
                end;
        end;
end;

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

procedure TFYSQXZ.BitBtn2Click(Sender: TObject);
var a,b:integer;
begin
     For a:=0 to ListBox1.Items.Count-1 do
     begin
          if ListBox1.Items.Strings[a]=Table1.FieldByName('房间编号').AsString then
             begin
                  b:=0;
                  Break;
             end else b:=1;
     end;
     if b=0 then
        begin
             ShowMessage('此大楼以被选种!!');
        end
     else
        begin
             ListBox1.Items.Add(Table1.FieldByName('房间编号').AsString);
        end;
end;

procedure TFYSQXZ.BitBtn4Click(Sender: TObject);
begin
     if ListBox1.Items.Count<>0 then
        begin
             ListBox1.Items.Delete(ListBox1.ItemIndex);
        end;
end;

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

end.

⌨️ 快捷键说明

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