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

📄 unitsetoption.pas

📁 一套宾馆管理系统
💻 PAS
字号:
unit UnitSetOption;

interface

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

type
  TfrmSetOption = class(TForm)
    DataSource: TDataSource;
    ADOQuery: TADOQuery;
    ADOCmd: TADOCommand;
    CoolBar1: TCoolBar;
    ToolBar1: TToolBar;
    tbnAdd: TToolButton;
    tbnDelete: TToolButton;
    tbnUpdate: TToolButton;
    ToolButton4: TToolButton;
    tbnExit: TToolButton;
    StatusBar1: TStatusBar;
    Panel1: TPanel;
    GroupBox2: TGroupBox;
    DBGrid: TDBGrid;
    ADOQuery1: TADOQuery;
    procedure FormShow(Sender: TObject);
    procedure tbnExitClick(Sender: TObject);
    procedure tbnUpdateClick(Sender: TObject);
    procedure tbnDeleteClick(Sender: TObject);
    procedure tbnAddClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
   
  private
    strCon:string;
    procedure GetAllItems();
    procedure SetRoomType();
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmSetOption: TfrmSetOption;

implementation

uses UnitMain, UnitBedSet;

{$R *.dfm}
procedure TfrmSetOption.SetRoomType();
begin
 try
  adoquery1.ConnectionString:=strcon;
  adoquery1.Close;
  adoquery1.SQL.Clear ;
  adoquery1.SQL.Add('select * from roomProperty');
  adoquery1.Open ;
  frmbedset.cbotype.Items.Clear ;
 while not adoquery1.Eof do
  begin
   frmbedset.cbotype.Items.Add(adoquery1.Fields[1].asstring);
   adoquery1.Next;
  end;
 finally
  frmbedset.cbotype.ItemIndex:=0;
  adoquery1.Close;
 end;
end;
procedure TfrmSetOption.GetAllItems();
var
 Smt:string;
 xx:Tcolumn;
begin
 Smt:='select room_id,room_no,convert(char(2),flooer_id) flooer_id,convert(char(2),bed_num)bed_num,b.roompro_name,memo1';
 Smt:=Smt+ ' from RoomList a  left outer join RoomProperty b ';
 Smt:=Smt+ ' on a.roompro_id=b.roompro_id ';
 adoquery.Close;
 adoquery.SQL.Clear ;
 adoquery.ConnectionString:=strCon;
 adoquery.sql.Add(Smt);
 adoquery.Open;
 dbgrid.Columns.Clear;
 xx:=dbgrid.Columns.Add;
 xx.Title.Caption:='房间编号';
 xx.FieldName:=adoquery.Fields[1].DisplayName ;
 xx.Width :=50;
 //------------
 xx:=dbgrid.Columns.Add;
 xx.Title.Caption:='楼层号';
 xx.FieldName:=adoquery.Fields[2].DisplayName ;
 xx.Width :=50;
 //------------
 xx:=dbgrid.Columns.Add;
 xx.Title.Caption:='房间总数';
 xx.FieldName:=adoquery.Fields[3].DisplayName ;
 xx.Width :=50;
 //------------
 xx:=dbgrid.Columns.Add;
 xx.Title.Caption:='房间属性';
 xx.FieldName:=adoquery.Fields[4].DisplayName ;
 xx.Width :=150;
 //------------
 xx:=dbgrid.Columns.Add;
 xx.Title.Caption:='备注';
 xx.FieldName:=adoquery.Fields[5].DisplayName ;
 xx.Width :=200;
 //------------
 datasource.DataSet:=adoquery;
 dbgrid.DataSource:=datasource;
end;
procedure TfrmSetOption.FormShow(Sender: TObject);
begin

try
 frmSetOption.GetAllItems  ;
finally
 end;
end;

//删除记录
procedure TfrmSetOption.tbnExitClick(Sender: TObject);
begin
  frmsetoption.close
end;

procedure TfrmSetOption.tbnUpdateClick(Sender: TObject);
var
  room,floor,bed,strtype,memo:string;
  smt:string;    //adocommand要执行的CommandText
begin
  if adoquery.RecordCount=0 then
     exit 
  else
   begin
   application.CreateForm(TfrmBedset,frmBedset);
    frmsetOption.SetRoomType;
    frmbedset.edtroom.Text:=adoquery.Fields[1].AsString ;
    frmbedset.edtfloor.Text:=adoquery.Fields[2].AsString;
    frmbedset.edtbed.Text:=adoquery.Fields[3].AsString;
    frmbedset.cbotype.Text:=adoquery.Fields[4].AsString;
    frmbedset.edtmemo.Text:=adoquery.Fields[5].AsString;
    frmBedset.ShowModal;
    if frmbedset.ModalResult=mrok then
    begin
      room:=frmbedset.edtroom.Text;
      floor:=frmbedset.edtfloor.Text;
      bed:=frmbedset.edtbed.Text;
      strtype:=frmbedset.cbotype.Text;
      memo:=frmbedset.edtmemo.Text;
      if Room='' then  exit;
      if Floor='' then exit;
      if Bed='' then exit;
      smt:='update roomlist';
      smt:=smt+' set room_no='''+room+''',flooer_id='+floor+',bed_num='+bed+',memo1='''+memo+''',roompro_id=RoomProperty.roompro_id';
      smt:=smt+' from RoomProperty';
      smt:=smt+' where RoomProperty.roompro_name='''+strtype+'''';
      smt:=smt+' and room_id='+adoquery.Fields[0].AsString  ;
     try
       adocmd.ConnectionString :=strCon;
       adocmd.CommandText:=smt;
       adocmd.CommandType:=cmdtext;
       adocmd.Prepared:=true;
       adocmd.Execute ;
     finally
       adoquery.Requery() ;
     end;
  end;
 end;
end;

procedure TfrmSetOption.tbnDeleteClick(Sender: TObject);
var
 i :integer;
 smt:string;
begin
 i:= adoquery.RecordCount;
 if i<> 0 then
 begin

  i:=adoquery.Fields[0].AsInteger ;
  smt:='delete from roomlist where room_id='+inttostr(i);
    try
       adocmd.ConnectionString:=strCon;
       adocmd.CommandText:=smt;
       adocmd.Execute ;  //执行cmd命令
    finally
       adoquery.Requery() ; //重新获得数据源
    end;
 end;
end;

procedure TfrmSetOption.tbnAddClick(Sender: TObject);
var
 Room,Floor,BedNo,RoomType,Memo:string;
 Smt:string;
begin
 application.CreateForm(TfrmBedset,frmBedset);
 frmsetoption.SetRoomType;
 frmBedset.ShowModal;
 if frmBedset.ModalResult=mrok then
  begin
   Room:=trim(frmbedset.edtroom.Text);
   Floor:=trim(frmbedset.edtfloor.Text);
   BedNo:=trim(frmbedset.edtbed.text);
   RoomType:=trim(frmbedset.cbotype.text);
   Memo:=trim(frmbedset.edtmemo.Text);
   if Room='' then  exit;
   if Floor='' then exit;
   if BedNo='' then exit;
   Smt:='insert into RoomList (room_no,flooer_id,bed_num,memo1,roompro_id)';
   Smt:=Smt+'select'''+ Room+''' ,'+Floor+','+BedNo+','''+Memo+''',roompro_id from RoomProperty where roompro_name='''+RoomType+'''';
   adocmd.ConnectionString :=strCon;
   adocmd.CommandType:=cmdtext;
   adocmd.CommandText:=smt;
   adocmd.Execute;
   adoquery.Requery(); 
 end;
end;

procedure TfrmSetOption.FormCreate(Sender: TObject);
begin
frmMain.ReadINI;
strCon:=frmMain.strCon;
end;

end.

⌨️ 快捷键说明

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