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

📄 khrz.pas

📁 房屋出租信息管理系统,房屋出租信息的录入、查询、删除以及用户管理等功能
💻 PAS
字号:
unit Khrz;

interface

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

type
  TKhrzForm = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Ed_Khbh: TEdit;
    bitbtn_Rz: TBitBtn;
    bitbtn_quit: TBitBtn;
    Ed_FJbh: TEdit;
    DT_begin: TDateTimePicker;
    DT_end: TDateTimePicker;
    DS_Fh: TDataSource;
    ADQ_Fh: TADOQuery;
    DBGrid2: TDBGrid;
    DBGrid1: TDBGrid;
    DS_Khbh: TDataSource;
    ADQ_Khbh: TADOQuery;
    ADQ_Insert: TADOQuery;
    procedure bitbtn_quitClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
    procedure Ed_FJbhKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Ed_FJbhKeyPress(Sender: TObject; var Key: Char);
    procedure DBGrid2DblClick(Sender: TObject);
    procedure DBGrid2KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Ed_KhbhKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Ed_KhbhKeyPress(Sender: TObject; var Key: Char);
    procedure DBGrid1DblClick(Sender: TObject);
    procedure DBGrid1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Ed_KhbhChange(Sender: TObject);
    procedure bitbtn_RzClick(Sender: TObject);
    procedure Ed_FJbhChange(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  KhrzForm: TKhrzForm;

implementation

uses DataModule;

{$R *.dfm}

procedure TKhrzForm.bitbtn_quitClick(Sender: TObject);
begin
  close;
end;

procedure TKhrzForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  action   :=cafree;
  KhrzForm:=nil;
end;

procedure TKhrzForm.FormCreate(Sender: TObject);
begin 
  ADQ_Fh.Open ;
  ADQ_Khbh.Open ;
  Dt_begin.Date:=date;
  DT_end.Date  :=date;
  dbgrid1.Height:=120;
  dbgrid2.Height:=120;
end;

procedure TKhrzForm.Ed_FJbhKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
   if key=vk_f1 then
  begin
    dbgrid2.Visible:=true;
    dbgrid2.setfocus;
  end
  else if key=13 then
  begin
      ADQ_Fh.Close ;
      ADQ_Fh.Open ;
      if ADQ_Fh.RecordCount <=0 then
        begin
         showmessage('对不起!没有空房');
         DBGrid2.Visible :=false;
         exit;
        end
       else
        begin
         DBGrid2.Visible :=true;
        end;
    Ed_FJbh.Text:=ADQ_Fh.fieldbyname('fangno').asstring;
    dbgrid2.visible:=true;
    Ed_FJbh.SetFocus;
  end
  else
  if key=40 then
  begin
    dbgrid2.visible:=true;
    dbgrid2.setfocus;
  end;  
end;

procedure TKhrzForm.Ed_FJbhKeyPress(Sender: TObject; var Key: Char);
begin
   if (key>='0')and(key<='9') then
  begin
    dbgrid2.visible:=true;
    ADQ_Fh.Locate('fangno',trim(Ed_FJbh.text+char(key)),[]);
  end;
end;

procedure TKhrzForm.DBGrid2DblClick(Sender: TObject);
begin
  (sender as tdbgrid).perform(wm_keydown,13,0);
end;

procedure TKhrzForm.DBGrid2KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
   if key=13 then
  begin
    Ed_FJbh.Text:=ADQ_Fh.fieldbyname('fangno').asstring;
    dbgrid2.visible:=false;
    Ed_FJbh.SetFocus;
  end;
end;

procedure TKhrzForm.Ed_KhbhKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
   if key=vk_f1 then
  begin
    dbgrid1.Visible:=true;
    dbgrid1.setfocus;
  end
  else if key=13 then
  begin
    Ed_Khbh.Text:=ADQ_Khbh.fieldbyname('manid').asstring;
    dbgrid1.visible:=true;
    Ed_Khbh.SetFocus;
  end
  else
  if key=40 then
  begin
    dbgrid1.visible:=true;
    dbgrid1.setfocus;
  end;
end;

procedure TKhrzForm.Ed_KhbhKeyPress(Sender: TObject; var Key: Char);
begin
   if (key>='0')and(key<='9') then
  begin
    dbgrid1.visible:=true;
    ADQ_Khbh.Locate('manid',trim(Ed_Khbh.text+char(key)),[]);
  end;
end;

procedure TKhrzForm.DBGrid1DblClick(Sender: TObject);
begin
 (sender as tdbgrid).perform(wm_keydown,13,0);
end;

procedure TKhrzForm.DBGrid1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
    if key=13 then
  begin
    Ed_Khbh.Text:=ADQ_Khbh.fieldbyname('manid').asstring;
    dbgrid1.visible:=false;
    Ed_Khbh.SetFocus;
  end;
end;

procedure TKhrzForm.Ed_KhbhChange(Sender: TObject);
begin
  if ADQ_Khbh.Active then
     ADQ_Khbh.Close;
     adq_khbh.SQL.Clear ;
     adq_khbh.SQL.Add('select manid,manname,zjm,case sex when ''1'' then ''男'' else ''女'' end as sex,');
     adq_khbh.SQL.Add('idcard,iddress,handset,company  from dbo.Zf_Man');
     adq_khbh.SQL.Add('where manid like :manid or zjm like :zjm');
     ADQ_Khbh.Parameters.ParamByName('manid').Value:=trim(Ed_Khbh.Text)+'%';
     ADQ_Khbh.Parameters.ParamByName('zjm').Value:=trim(Ed_Khbh.Text)+'%';
     ADQ_Khbh.Prepared ;
     ADQ_Khbh.Open ;
     dbgrid1.Visible:=true;
end;

procedure TKhrzForm.bitbtn_RzClick(Sender: TObject);
begin
   if Ed_Khbh.Text=''  then
        begin
          Application.MessageBox('请填写客户编号','余科华提示',MB_OK+MB_ICONINFORMATION);
          Ed_Khbh.SetFocus ;
          exit;
        end;
   if Ed_FJbh.Text=''  then
        begin
          Application.MessageBox('请填写房间编号','余科华提示',MB_OK+MB_ICONINFORMATION);
          Ed_FJbh.SetFocus ;
          exit;
        end;
    if ADQ_Fh.RecordCount <=0 then
        begin
         showmessage('对不起!没有空房,入住失败');
         exit;
        end;     
 if DB_module.ADOCon.InTransaction then DB_module.ADOCon.RollbackTrans ;
    DB_module.ADOCon.BeginTrans;
   try
     if ADQ_Insert.Active  then
        ADQ_Insert.Close;
        ADQ_Insert.Parameters.ParamByName('manid').Value     :=Ed_Khbh.Text ;
        ADQ_Insert.Parameters.ParamByName('fangno').Value    :=Ed_FJbh.Text ;
        ADQ_Insert.Parameters.ParamByName('begindate').Value :=DT_begin.Date  ;
        ADQ_Insert.Parameters.ParamByName('enddate').Value   :=DT_end.Date  ;
        ADQ_Insert.Parameters.ParamByName('status').Value    :=1;
        ADQ_Insert.ExecSQL;
        DB_module.ADOCon.CommitTrans;
        showmessage('入住完成!');
        ADQ_Fh.Close ;
        ADQ_Fh.Open ;
        ADQ_Fh.Prepared ;
        Ed_Khbh.Clear ;
        Ed_FJbh.Clear ;
        Ed_khbh.SetFocus ;
        dbgrid1.Visible:=false;
        dbgrid2.Visible:=false;
    except
       DB_module.ADOCon.RollbackTrans;
       showmessage('入住失败');
    end  
end;

procedure TKhrzForm.Ed_FJbhChange(Sender: TObject);
begin
  if ADQ_Fh.Active then
     ADQ_Fh.Close;
     ADQ_Fh.SQL.Clear ;
     ADQ_Fh.SQL.Add('select fangno,area,housetype,facetype,sb,fangya,fangprice,');
     ADQ_Fh.SQL.Add('case status when ''1'' then ''已出租'' else ''未出租'' end as status from fangjian');
     ADQ_Fh.SQL.Add('where fangno like :fangno');
     ADQ_Fh.Parameters.ParamByName('fangno').Value:=trim(Ed_FJbh.Text)+'%';
     ADQ_Fh.Prepared ;
     ADQ_Fh.Open ;
     dbgrid2.Visible:=true;
end;

end.

⌨️ 快捷键说明

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