📄 khrz.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 + -