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

📄 unit21.pas

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

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, DBCtrls, Grids, DBGrids, ComCtrls, DB,
  DBTables,IdGlobal;
  
type
  TForm21 = class(TForm)
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    customerid: TEdit;
    Label3: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    gender: TComboBox;
    nation: TComboBox;
    kind: TComboBox;
    customername: TEdit;
    GroupBox2: TGroupBox;
    lowindate: TDateTimePicker;
    highindate: TDateTimePicker;
    Label8: TLabel;
    DBGrid1: TDBGrid;
    GroupBox6: TGroupBox;
    DBNavigator1: TDBNavigator;
    GroupBox7: TGroupBox;
    select: TButton;
    refresh: TButton;
    exit: TButton;
    Query1: TQuery;
    DataSource1: TDataSource;
    roomid: TEdit;
    procedure selectClick(Sender: TObject);
    procedure refreshClick(Sender: TObject);
    procedure exitClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
    s:string;
    
  public
    { Public declarations }
  end;

var
  Form21: TForm21;

implementation
uses unit38;
{$R *.dfm}

procedure TForm21.selectClick(Sender: TObject);
var
   i:integer;
   low,high:string;
begin
   s:='select * from checkin ';
   i:=0;
   {处理客户编号}
   if isInteger(customerId.Text) then
   begin
      s:=s+'where 客户编号='+customerId.Text;
      i:=i+1;
   end;
   {处理客户姓名}
   if customerName.Text<>'' then
   begin
      if i=0 then
         s:=s+'where 客户姓名='''+customerName.Text+''''
      else
         s:=s+' and  客户姓名='''+customerName.Text+'''';
      i:=i+1;
   end;
   {处理房号}
   if roomid.Text<>'' then
   begin

      if i=0 then
         s:=s+'where 房号='''+roomid.Text+''''
      else
         s:=s+' and  房号='''+roomid.Text+'''';
      i:=i+1;
   end;
   
   {处理入住日期}
   low:=formatDateTime('mm''/''dd''/''yyyy',lowindate.Date);
   high:=formatDateTime('mm''/''dd''/''yyyy',highindate.Date);
   if i=0 then
      s:=s+'where '
   else
      s:=s+' and ';
   s:=s+'入住日期<='''+high+''' and 入住日期>='''+low+'''';

   {处理国籍}
   if nation.Text<>'' then
      s:=s+' and 国籍='''+nation.Text+'''';
   {处理性别}
   if gender.Text<>'' then
      s:=s+' and 性别='''+gender.Text+'''';
   {处理类别}
    if kind.Text<>'' then
      s:=s+' and 类别='''+kind.Text+'''';
      {处理员工等级}

    with query1 do
    begin
      close;
      sql.Clear;
      sql.Add(s);
      try
         open;
      except
         execsql;
      end;
    end;
end;

procedure TForm21.refreshClick(Sender: TObject);
begin
   customerId.Text:='';
   customerName.Text:='';
   gender.ItemIndex:=0;
   nation.itemindex:=0;
   kind.itemindex:=0;
   roomid.text:='';
   activeControl:=customerId;
   lowindate.Date:=strToDate('1800-1-1');
   highindate.Date:=now;

   {让数据控件dbGrid1同步显示}
   with query1 do
   begin
      close;
      sql.Clear;
      sql.Add('select * from checkin');
      open;
   end;
end;
procedure TForm21.exitClick(Sender: TObject);
begin
self.free;
close;
end;

procedure TForm21.FormCreate(Sender: TObject);
begin
   s:='select * from checkin ';
   with query1 do
   begin
      close;
      sql.Clear;
      sql.Add(s);
      open;
   end;
   activeControl:=customerId;
   lowindate.Date:=strToDate('1800-1-1');
   highindate.Date:=now;
  
end;

procedure TForm21.FormClose(Sender: TObject; var Action: TCloseAction);
begin
self.Free;
end;



end.

⌨️ 快捷键说明

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