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

📄 unit24.pas

📁 一个用DELPHI编的酒店管理系统。 其中数据库:SQL Server2000, 只需恢复 My database文件夹中 My database_Data.MDF和 My database_Log.
💻 PAS
字号:
unit Unit24;

interface

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

type
  TForm24 = class(TForm)
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    customerid: TEdit;
    customername: TEdit;
    Label3: TLabel;
    idname: TComboBox;
    Label4: TLabel;
    idcard: TEdit;
    insert: TButton;
    refresh: TButton;
    Label12: TLabel;
    Label13: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label18: TLabel;
    Label20: TLabel;
    DBGrid1: TDBGrid;
    kind: TComboBox;
    Label10: TLabel;
    moneykind: TComboBox;
    Label17: TLabel;
    money: TEdit;
    Label21: TLabel;
    bookdate: TDateTimePicker;
    Label22: TLabel;
    GroupBox2: TGroupBox;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    GroupBox3: TGroupBox;
    RadioButton3: TRadioButton;
    RadioButton4: TRadioButton;
    RadioButton5: TRadioButton;
    RadioButton6: TRadioButton;
    Label6: TLabel;
    Label5: TLabel;
    validdate: TDateTimePicker;
    Label7: TLabel;
    room: TTable;
    Query1: TQuery;
    bookroom: TTable;
    DataSource1: TDataSource;
    roomid: TEdit;
    procedure insertClick(Sender: TObject);
    procedure refreshClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form24: TForm24;

implementation

{$R *.dfm}

procedure TForm24.insertClick(Sender: TObject);
var s:string;
begin
   {添加一个新会员----------<会员表>}
   try
      {检查"客户编号"}
      if customerid.Text='' then
      begin
         messageDlg('"客户编号"输入错误,请重新输入!',mtWarning,[mbOk],0);
         activeControl:=customerid;
         abort;
      end;
      {检查"客户姓名"}
      if customername.text='' then
      begin
         messageDlg('"客户姓名"输入错误,请重新输入!',mtWarning,[mbOk],0);
         activeControl:=customername;
         abort;
      end;
      {检查"证件名称"}
      if idname.text='' then
      begin
         messageDlg('"证件名称"输入有误,请重新输入!',mtWarning,[mbOk],0);
         activeControl:=idname;
         abort;
      end;
      {检查"证件号码"}
      if idcard.Text='' then
      begin
         messageDlg('"证件号码"输入错误,请重新输入!',mtWarning,[mbOk],0);
         activeControl:=idcard;
         abort;
      end;
      {检查"类别"}
      if kind.text='' then
      begin
         messageDlg('"类别"输入错误,请重新输入!',mtWarning,[mbOk],0);
         activeControl:=kind;
         abort;
      end;
      {检查"付款方式"}
      if moneykind.text='' then
      begin
         messageDlg('"付款方式"输入错误,请重新输入!',mtWarning,[mbOk],0);
         activeControl:=moneykind;
         abort;
      end;
      {检查"付款方式"}
      if moneykind.text='' then
      begin
         messageDlg('"付款方式"输入错误,请重新输入!',mtWarning,[mbOk],0);
         activeControl:=moneykind;
         abort;
      end;
      {检查"预付押金"}
      if money.text='' then
      begin
         messageDlg('"预付押金"输入错误,请重新输入!',mtWarning,[mbOk],0);
         activeControl:=money;
         abort;
      end;
      {检查"房号"}
      if roomid.text='' then
      begin
         messageDlg('"房号"输入错误,请重新输入!',mtWarning,[mbOk],0);
         activeControl:=roomid;
         abort;
      end;
      s:=roomid.text;
      {将客户数据填入<住宿表>}
      with bookroom do
      begin
         open;
         append;
         fieldByName('客户编号').AsInteger:=strToInt(customerId.Text);
         fieldByName('客户姓名').AsString:=customerName.Text;
         fieldByName('证件名称').AsString:=idname.Text;
         fieldByName('证件号码').AsString:=idcard.Text;
         fieldByName('类别').AsString:=kind.text;
         fieldByName('付款方式').AsString:=moneykind.Text;
         fieldByName('预付押金').AsString:=money.Text;
         fieldByName('房号').AsString:=roomid.Text;
         fieldByName('订房日期').Asdatetime:=strtodate(DatetoStr(bookdate.date));
         fieldByName('有效日期').Asdatetime:=strtodate(DatetoStr(validdate.date));
         post;
         close;
      end;

   except
      on ex:EConvertError do
      begin
         messageDlg('输入有误,请重试!',mtWarning,[mbOk],0);
      end;
   end; {end of try}
   //使room表中刚被选中的房间状态变为2
   with room do
    begin
     query1.Close;
     query1.SQL.Clear;
     query1.SQL.Add('update room set 房间状态=2 where 房号='+s);
     try
       query1.Open;
     except
       query1.ExecSQL;
    end;
   end; 
   {让数据控件dbGrid1同步显示}
   with query1 do
   begin
      close;
      sql.Clear;
      sql.Add('select * from room where 房间状态=0');
      open;
   end;
   {清屏准备输入下一位新会员}
   refreshClick(Sender);//调用清屏按钮的处理操作
   messageDlg('添加成功!',mtWarning,[mbOk],0);
   activeControl:=customerid;
end;

procedure TForm24.refreshClick(Sender: TObject);
begin
   customerId.Text:='';
   activeControl:=customerid;
   customerName.Text:='';
   kind.ItemIndex:=0;
   Idname.ItemIndex:=0;
   idcard.Text:='';
   moneykind.ItemIndex:=0;
   kind.ItemIndex:=0;
   moneykind.ItemIndex:=0;
   money.Text:='';
   roomid.text:='';
   bookdate.Date:=now;
   validdate.date:=now;
end;

procedure TForm24.FormCreate(Sender: TObject);
begin
bookdate.Enabled:=false;
customerId.Text:='';
   activeControl:=customerid;
   customerName.Text:='';
   kind.ItemIndex:=0;
   Idname.ItemIndex:=0;
   idcard.Text:='';
   moneykind.ItemIndex:=0;
   kind.ItemIndex:=0;
   moneykind.ItemIndex:=0;
   money.Text:='';
   roomid.text:='';
   bookdate.Date:=now;
   validdate.date:=now;
end;

end.

⌨️ 快捷键说明

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