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

📄 roommanage.pas

📁 我自己写的一个有关酒店管理系统的代码 大家
💻 PAS
字号:
unit roommanage;

interface

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

type
  TRoomForm = class(TForm)
    Label1: TLabel;
    Edit1: TEdit;
    Label2: TLabel;
    Edit2: TEdit;
    Label3: TLabel;
    ComboBox1: TComboBox;
    Label4: TLabel;
    Edit3: TEdit;
    Label5: TLabel;
    Edit4: TEdit;
    Label6: TLabel;
    Edit5: TEdit;
    Label7: TLabel;
    Edit6: TEdit;
    DBGrid1: TDBGrid;
    GroupBox1: TGroupBox;
    CheckBox1: TCheckBox;
    CheckBox2: TCheckBox;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    DataSource1: TDataSource;
    Edit7: TEdit;
    Label8: TLabel;
    DBImage1: TDBImage;
    Button1: TButton;
    CheckBox3: TCheckBox;
    Label9: TLabel;
    Edit8: TEdit;
    Query1: TQuery;
    Query2: TQuery;
    procedure FormActivate(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
    procedure Query1AfterScroll(DataSet: TDataSet);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure initiate;
    procedure ReadFromTable;
    procedure SaveToTable;
    procedure ShowLabel;
  end;

var
  RoomForm: TRoomForm;
  sign:integer;
implementation
 uses main;
{$R *.dfm}
//模块启动时执行
procedure TRoomForm.FormActivate(Sender: TObject);
begin
    query1.RequestLive:=true;
    initiate;
    sign:=0;
end;
//模块初始化部分
procedure TRoomForm.initiate;
begin
    edit1.Text:='';
    edit2.Text:='';
    edit3.Text:='';
    edit3.Enabled:=false;
    edit3.TabStop:=false;
    edit4.Text:='';
    edit4.Enabled:=false;
    edit4.TabStop:=false;
    edit5.Text:='';
    edit5.Enabled:=false;
    edit5.TabStop:=false;
    edit6.Text:='';
    edit6.Enabled:=false;
    edit6.TabStop:=false;
    edit7.Text:='';
    edit8.Text:='0';
    combobox1.Text:='';
    dbgrid1.ReadOnly:=true;
    combobox1.items.Clear;
    query2.SQL.clear;
    query2.SQL.add('select * from room');
    query2.Open;
    while  not query2.Eof do
    begin
        combobox1.Items.add(query2.fieldbyname('roomclass').asstring);
        query2.Next;
    end;
    query2.Close;
    datasource1.DataSet:=query1;
    query1.SQL.clear;
    query1.sql.add('select * from room_manager');
    query1.open;
    showlabel;
    if query1.eof then
    begin
        bitbtn1.Enabled:=false;
        bitbtn3.Enabled:=false;
    end
    else
        ReadFromTable;
end;
//退出该模块
procedure TRoomForm.BitBtn4Click(Sender: TObject);
begin
  close;
end;
//从数据表中读出信息
procedure TRoomForm.ReadFromTable;
begin
    Edit1.Text:=query1.fieldByName('roomno').asstring;
    Edit2.Text:=query1.fieldByName('roomplace').asstring;
    combobox1.Text:=query1.fieldByName('roomclass').asstring;
    Edit3.Text:=FloatToStr(query1.fieldByName('roomprice').asfloat);
    Edit4.Text:=query1.fieldByName('roomgoods').asstring;
    Edit5.Text:=DateToStr(query1.fieldByName('oper_date').asDateTime);
    Edit6.Text:=query1.fieldByName('operator').asstring;
    Edit7.Text:=query1.fieldByName('note').asstring;
    Edit8.Text:=IntToStr(query1.fieldByName('number').asInteger);
    CheckBox1.checked:=query1.fieldByName('keep_id').asboolean;
    CheckBox2.checked:=query1.fieldByName('use_id').asboolean;
    CheckBox3.checked:=query1.fieldByName('hour_id').asboolean;
    dbimage1.DataSource:=datasource1;
    dbimage1.DataField:='roompicture';
    showlabel;
end;
//保存信息至数据表
procedure TRoomform.SaveToTable;
begin
    if sign=1 then
    begin
          query1.close;
          query1.SQL.Clear;
          query1.sql.add('insert into room_manager(roomno,roomplace,roomclass,roomprice,roomgoods,number,note,keep_id,use_id,hour_id,oper_date,operator)');
          query1.sql.Add('values(:roomno,:roomplace,:roomclass,:roomprice,:roomgoods,:number,:note,:keep_id,:use_id,:hour_id,:oper_date,:operator)');
          query1.ParamByName('roomno').asstring:=Edit1.Text;
          query1.ParamByName('roomplace').asstring:=Edit2.Text;
          query1.ParamByName('roomclass').asstring:=combobox1.Text;
          query1.ParamByName('roomprice').asfloat:=StrToFloat(Edit3.Text);
          query1.ParamByName('roomgoods').asstring:=Edit4.Text;
          query1.ParamByName('oper_date').asdatetime:=StrToDate(Edit5.Text);
          query1.ParamByName('operator').asstring:=Edit6.Text;
          query1.ParamByName('note').asstring:=Edit7.Text;
          query1.ParamByName('number').asinteger:=StrToInt(Edit8.Text);
          query1.ParamByName('keep_id').asboolean:=CheckBox1.checked;
          query1.ParamByName('use_id').asboolean:=CheckBox2.checked;
          query1.ParamByName('hour_id').asboolean:=CheckBox3.checked;
          query1.ExecSQL;
    end
    else
    begin
          query1.edit;
          query1.fieldByName('roomno').asstring:=Edit1.Text;
          query1.fieldByName('roomplace').asstring:=Edit2.Text;
          query1.fieldByName('roomclass').asstring:=combobox1.Text;
          query1.fieldByName('roomprice').asfloat:=StrToFloat(Edit3.Text);
          query1.fieldByName('roomgoods').asstring:=Edit4.Text;
          query1.fieldByName('oper_date').asDateTime:=StrToDate(Edit5.Text);
          query1.fieldByName('operator').asstring:=Edit6.Text;
          query1.fieldByName('note').asstring:=Edit7.Text;
          query1.fieldByName('number').asinteger:=StrToInt(Edit8.Text);
          query1.fieldByName('keep_id').asboolean:=CheckBox1.checked;
          query1.fieldByName('use_id').asboolean:=CheckBox2.checked;
          query1.fieldByName('hour_id').asboolean:=CheckBox3.checked;
          query1.Post;
    end;
    query1.SQL.Clear;
    query1.SQL.add('select * from room_manager');
    query1.open;
    sign:=0; 
end;
//保存信息
procedure TRoomForm.BitBtn1Click(Sender: TObject);
begin
    SaveToTable;
end;
//删除信息
procedure TRoomForm.BitBtn3Click(Sender: TObject);
begin
    query1.delete;
    query1.First;
end;
//插入数据
procedure TRoomForm.BitBtn2Click(Sender: TObject);
begin
    sign:=1;
    edit5.text:=DateToStr(Date());
    edit6.text:=username;
    edit1.SetFocus;
    bitbtn1.Enabled:=true;
    bitbtn3.enabled:=true;
end;
//从剪贴板中读取图像信息
procedure TRoomForm.Button1Click(Sender: TObject);
begin
    dbimage1.Picture.LoadFromClipboardFormat(cf_BitMap,ClipBoard.GetAsHandle(cf_Bitmap),0);
end;
 //根据所选取的客房等级,自动设定单价等信息
procedure TRoomForm.ComboBox1Change(Sender: TObject);
var
  str:string;
begin
    str:=combobox1.items[combobox1.Itemindex];
    query2.sql.clear;
    query2.SQL.add('select * from room where roomclass=:roomclass');
    query2.ParamByName('roomclass').asstring:=str;
    query2.open;
    edit3.text:=query2.fieldbyname('roomprice').asstring;
    edit4.text:=query2.fieldbyname('roomprice').asstring;
    query2.close;
end;
//数据表指针移动时,刷新界面
procedure TRoomForm.Query1AfterScroll(DataSet: TDataSet);
begin
    if not query1.eof then
          ReadFromTable;
end;
procedure TRoomForm.ShowLabel;
begin
    dbgrid1.Fields[0].DisplayLabel:='客房编号';
    dbgrid1.Fields[1].DisplayLabel:='客房位置';
    dbgrid1.Fields[2].DisplayLabel:='客房等级';
    dbgrid1.Fields[3].DisplayLabel:='客房单价';
    dbgrid1.Fields[4].DisplayLabel:='客房图片';
    dbgrid1.Fields[5].DisplayLabel:='客房物品';
    dbgrid1.Fields[6].DisplayLabel:='可住人数';
    dbgrid1.Fields[7].DisplayLabel:='说明';
    dbgrid1.Fields[8].DisplayLabel:='保留标志';
    dbgrid1.Fields[9].DisplayLabel:='使用标志';
    dbgrid1.Fields[10].DisplayLabel:='钟点房标志';
    dbgrid1.Fields[11].DisplayLabel:='操作时间';
    dbgrid1.Fields[12].DisplayLabel:='操作人';                            
end;

end.

⌨️ 快捷键说明

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