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

📄 unit17.pas

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

interface

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

type
  TForm17 = class(TForm)
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    customerid: TEdit;
    customername: TEdit;
    Label3: TLabel;
    idname: TComboBox;
    Label4: TLabel;
    idcard: TEdit;
    Label5: TLabel;
    customerrank: TComboBox;
    Label9: TLabel;
    nation: TComboBox;
    Label11: TLabel;
    gender: TComboBox;
    DBGrid1: TDBGrid;
    GroupBox2: TGroupBox;
    asc: TRadioButton;
    desc: TRadioButton;
    GroupBox3: TGroupBox;
    id: TRadioButton;
    name: TRadioButton;
    rank: TRadioButton;
    GroupBox6: TGroupBox;
    DBNavigator1: TDBNavigator;
    GroupBox7: TGroupBox;
    select: TButton;
    modify: TButton;
    delete: TButton;
    refresh: TButton;
    sqlcustomer: TQuery;
    DataSource1: TDataSource;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
    procedure ascClick(Sender: TObject);
    procedure descClick(Sender: TObject);
    procedure idClick(Sender: TObject);
    procedure nameClick(Sender: TObject);
    procedure rankClick(Sender: TObject);
    procedure refreshClick(Sender: TObject);
    procedure selectClick(Sender: TObject);
    procedure modifyClick(Sender: TObject);
    procedure deleteClick(Sender: TObject);
  private
    { Private declarations }
   s:string;
   function isInteger(s:string):boolean;
  public
    { Public declarations }
  end;

var
  Form17: TForm17;

implementation

uses Unit36, Unit37,unit38;

{$R *.dfm}

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

procedure TForm17.FormCreate(Sender: TObject);
begin
s:='select * from customer ';
   with sqlcustomer do
   begin
      close;
      sql.Clear;
      sql.Add(s);
      open;
   end;
   activeControl:=customerId;
   id.Checked:=true;
end;

procedure TForm17.ascClick(Sender: TObject);
var
   col:string;
begin

   if id.Checked then col:='客户编号'
   else if name.Checked then col:='客户姓名'
   else if rank.Checked then col:='客户等级';
   with sqlcustomer do
   begin
   Close;
   SQL.Clear;
   SQL.Add(s+'order by '+col+' asc');
   try
      Open;
   except
      ExecSQL;
   end;
   end;
end;


procedure TForm17.descClick(Sender: TObject);
var
   col:string;
begin

   if id.Checked then col:='客户编号'
   else if name.Checked then col:='客户姓名'
   else if rank.Checked then col:='客户等级';
   with sqlcustomer do
   begin
   Close;
   SQL.Clear;
   SQL.Add(s+'order by '+col+' desc');
   try
      Open;
   except
      ExecSQL;
   end;
   end;
end;


procedure TForm17.idClick(Sender: TObject);
var
   t:string;
begin
   if asc.Checked then t:='asc'
   else if desc.Checked then t:='desc';
   with sqlcustomer do
   begin
   Close;
   SQL.Clear;
   SQL.Add(s+' order by 客户编号 '+t);
   try
      Open;
   except
      ExecSQL;
   end;
   end;
end;

procedure TForm17.nameClick(Sender: TObject);
var
   t:string;
begin
   if asc.Checked then t:='asc'
   else if desc.Checked then t:='desc';
   with sqlcustomer do
   begin
   Close;
   SQL.Clear;
   SQL.Add(s+' order by 客户姓名 '+t);
   try
      Open;
   except
      ExecSQL;
   end;
   end;
end;

procedure TForm17.rankClick(Sender: TObject);
var
   t:string;
begin
   if asc.Checked then t:='asc'
   else if desc.Checked then t:='desc';
   with sqlcustomer do
   begin
   Close;
   SQL.Clear;
   SQL.Add(s+' order by 客户等级 '+t);
   try
      Open;
   except
      ExecSQL;
   end;
   end;
end;

procedure TForm17.refreshClick(Sender: TObject);
begin
   customerId.Text:='';
   customerName.Text:='';
   gender.ItemIndex:=0;
   idname.ItemIndex:=0;
   idcard.text:='';
   activeControl:=customerId;
   nation.ItemIndex:=0;
   customerrank.ItemIndex:=0;
   {让数据控件dbGrid1同步显示}
   with sqlcustomer do
   begin
      close;
      sql.Clear;
      sql.Add('select * from customer');
      open;
   end;
end;


procedure TForm17.selectClick(Sender: TObject);
var
   i:integer;
begin
   s:='select * from customer ';
   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 gender.Text<>'' then
   begin

      if i=0 then
         s:=s+'where 性别='''+gender.Text+''''
      else
         s:=s+' and  性别='''+gender.Text+'''';
      i:=i+1;
   end;
   {处理证件名称}
   if idname.Text<>'' then
   begin

      if i=0 then
         s:=s+'where 证件名称='''+idname.Text+''''
      else
         s:=s+' and  证件名称='''+idname.Text+'''';
      i:=i+1;
   end;
   {处理证件号码}
   if idcard.Text<>'' then
   begin

      if i=0 then
         s:=s+'where 证件号码='''+idcard.Text+''''
      else
         s:=s+' and  证件号码='''+idcard.Text+'''';
      i:=i+1;
   end;
   {处理国籍}
   if nation.Text<>'' then
   begin

      if i=0 then
         s:=s+'where 国籍='''+nation.Text+''''
      else
         s:=s+' and  国籍='''+nation.Text+'''';
      i:=i+1;
   end;
   {处理客户等级}
   if customerrank.Text<>'' then
   begin

      if i=0 then
         s:=s+'where 客户等级='''+customerrank.Text+''''
      else
         s:=s+' and  客户等级='''+customerrank.Text+'''';
      i:=i+1;
   end;
    with sqlcustomer do
    begin
      close;
      sql.Clear;
      sql.Add(s);
      try
         open;
      except
         execsql;
      end;
    end;
end;
 function Tform17.isInteger(s: string): boolean;
var
   i:integer;
begin
   i:=1;
   if length(s)=0 then
   begin
      result:=false;
      exit;
   end;
   while i<=length(s) do
   begin
      if isNumeric(s[i])=false then
      begin
         result:=false;
         exit;
      end;
      i:=i+1;
   end;
   result:=true;
end;


procedure TForm17.modifyClick(Sender: TObject);
begin
form36:=TForm36.Create(self);
   form36.ShowModal;
end;

procedure TForm17.deleteClick(Sender: TObject);
begin
form37:=TForm37.create(self);
   form37.ShowModal;
end;

end.

⌨️ 快捷键说明

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