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

📄 unit16.pas

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

interface

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

type
  TForm16 = class(TForm)
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    customerid: TEdit;
    customername: TEdit;
    Label3: TLabel;
    idname: TComboBox;
    Label4: TLabel;
    idcard: TEdit;
    Label5: TLabel;
    customerrank: TComboBox;
    Label6: TLabel;
    account: TComboBox;
    Label7: TLabel;
    tel: TEdit;
    Label8: TLabel;
    address: TEdit;
    Label9: TLabel;
    nation: TComboBox;
    Label10: TLabel;
    mark: TEdit;
    Label11: TLabel;
    gender: TComboBox;
    insert: TButton;
    refresh: TButton;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label18: TLabel;
    Label19: TLabel;
    Label20: TLabel;
    DBGrid1: TDBGrid;
    DataSource1: TDataSource;
    Query1: TQuery;
    Table1: TTable;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure insertClick(Sender: TObject);
    procedure refreshClick(Sender: TObject);

  private
    { Private declarations }

  public
    { Public declarations }
  end;

var
  Form16: TForm16;

implementation

{$R *.dfm}

procedure Tform16.FormCreate(Sender: TObject);
var
   maxNo,tmp:integer;
begin
   {获取新添加会员的编号----------<会员表>}
   with table1 do
   begin
      open;
      first;
      maxNo:=fieldByName('客户编号').AsInteger;
      while not eof do
      begin
         tmp:=fieldByName('客户编号').AsInteger;
         if maxNo<tmp then maxNo:=tmp;
         next;
      end;
      close;
   end;
   customerId.Text:=intToStr(maxNo+1);
   activeControl:=customerName;
end;

procedure Tform16.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
   query1.Close;
   self.free;
end;

procedure TForm16.refreshClick(Sender: TObject);
var
   maxNo,tmp:integer;
begin
   {获取新添加会员的编号----------<会员表>}
   with table1 do
   begin
      open;
      first;
      maxNo:=fieldByName('客户编号').AsInteger;
      while not eof do
      begin
         tmp:=fieldByName('客户编号').AsInteger;
         if maxNo<tmp then maxNo:=tmp;
         next;
      end;
      close;
   end;
   customerId.Text:=intToStr(maxNo+1);
   activeControl:=customerName;
   customerName.Text:='';
   gender.ItemIndex:=0;
   Idname.ItemIndex:=0;
   idcard.Text:='';
   tel.Text:='';
   nation.ItemIndex:=0;
   address.Text:='';
   mark.Text:='';
   customerrank.ItemIndex:=0;
   account.ItemIndex:=0;;
end;



procedure TForm16.insertClick(Sender: TObject);

begin
   {添加一个新会员----------<会员表>}
   try
      {检查"客户姓名"}
      if customerName.Text='' then
      begin
         messageDlg('"客户姓名"输入错误,请重新输入!',mtWarning,[mbOk],0);
         activeControl:=customerName;
         abort;
      end;
      {检查"性别"}
      if gender.text='' then
      begin
         messageDlg('"性别"输入错误,请重新输入!',mtWarning,[mbOk],0);
         activeControl:=gender;
         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 mark.text='' then
      begin
         messageDlg('"消费积分"输入错误,请重新输入!',mtWarning,[mbOk],0);
         activeControl:=mark;
         abort;
      end;
      {检查"客户等级"}
      if customerrank.text='' then
      begin
         messageDlg('"客户等级"输入错误,请重新输入!',mtWarning,[mbOk],0);
         activeControl:=customerrank;
         abort;
      end;

      {检查"折扣"}
      if account.text='' then
      begin
         messageDlg('"折扣"输入错误,请重新输入!',mtWarning,[mbOk],0);
         activeControl:=account;
         abort;
      end;
      {将会员数据填入<会员表>}
      with table1 do
      begin
         open;
         append;
         fieldByName('客户编号').AsInteger:=strToInt(customerId.Text);
         fieldByName('客户姓名').AsString:=customerName.Text;
         fieldByName('性别').AsString:=gender.Text;
         fieldByName('证件名称').AsString:=idname.Text;
         fieldByName('证件号码').AsString:=idcard.Text;
         fieldByName('联系电话').AsString:=tel.text;
         fieldByName('国籍').AsString:=nation.Text;
         fieldByName('通信地址').AsString:=address.text;
         fieldByName('消费积分').AsString:=mark.Text;
         fieldByName('客户等级').AsString:=customerrank.Text;
         fieldByName('折扣').AsString:=account.Text;
         post;
         close;
      end;
   except
      on ex:EConvertError do
      begin
         messageDlg('输入有误,请重试!',mtWarning,[mbOk],0);
      end;
   end; {end of try}
   {让数据控件dbGrid1同步显示}
   with query1 do
   begin
      close;
      sql.Clear;
      sql.Add('select * from customer');
      open;
   end;
   {清屏准备输入下一位新会员}
   refreshClick(Sender);//调用清屏按钮的处理操作
   messageDlg('新会员添加成功!',mtWarning,[mbOk],0);
   activeControl:=customerName;
end;




end.

⌨️ 快捷键说明

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