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

📄 roomtypeut.pas

📁 宾馆客房管理系统,功能强大,界面美观,全部delphi源代码
💻 PAS
📖 第 1 页 / 共 2 页
字号:
//DBGrid1.Columns[2].Font.color:=clred;
//DBGrid1.Columns[2].Color:=clSkyBlue;
//DBGrid1.Columns[3].Font.color:=clred;
//初始化楼层设置输入框
FloodNameEdit.Clear;

end;

procedure TRoomTypeFm.DBGrid1CellClick(Column: TColumn);
begin
  DataMove(0);
end;

procedure TRoomTypeFm.ProBtClick(Sender: TObject);
begin
 DataMove(2);
end;

procedure TRoomTypeFm.FirstBtClick(Sender: TObject);
begin
 DataMove(1);
end;

procedure TRoomTypeFm.NextBtClick(Sender: TObject);
begin
 DataMove(3);
end;

procedure TRoomTypeFm.LastBtClick(Sender: TObject);
begin
 DataMove(4);
end;

procedure TRoomTypeFm.FindBtClick(Sender: TObject);
begin
  str:='select 类型编号,类型名称,价格,拼房价格,可超预定数,是否可拼房 from 客房类型表 where id=""';
 if TypeNameEdit.Text<>'' then
  str:=str+' and 类型名称=:typename';
  if (OrderNumEdit.Text<>'0') or (OrderNumEdit.Text<>'') then
   str:=str+' and 可超预定数=:OrderNum';
  if  PriceEdit.Text<>'' then
   str:=str+' and 价格=:price';
   if tj.Checked then
  begin
  if PF.Checked then
   str:=str+' and 是否可拼房=true';
   if PF.Checked=false then
   str:=str+' and 是否可拼房=false';
    end;
   with RoomTypeAdo do
  begin
    close;
    sql.Clear;
    sql.Add(str);
    if TypeNameEdit.Text<>'' then
    Parameters.ParamByName('typename').Value:=trim(TypeNameEdit.Text);
    if (OrderNumEdit.Text<>'0') or (OrderNumEdit.Text<>'') then
    Parameters.ParamByName('ordernum').Value:=trim(OrderNumEdit.text);
    if  PriceEdit.Text<>'' then
    Parameters.ParamByName('price').Value:=trim(PriceEdit.Text);
    open;
  end;

end;

procedure TRoomTypeFm.fcloseClick(Sender: TObject);
begin
close;
end;

procedure TRoomTypeFm.fclearbtClick(Sender: TObject);
begin
str:='select  楼层编号,楼层名称 from 楼层编号表';
str1:='select max(楼层编号) as MaxCode from 楼层编号表';
FloodCodeEdit.Text:=HotelFm.GetMaxNum(FloodAdo,str,str1);   //获取最大编号
str:='select 楼层编号,楼层名称 from 楼层编号表 order by 楼层编号';
HotelFm.DataRefresh(FloodAdo,str);   //刷新数据
//初始化输入框
FloodNameEdit.Clear;
FloodNameEdit.SetFocus;
end;

procedure TRoomTypeFm.fdelbtClick(Sender: TObject);
begin
str:='delete * from 楼层编号表 where 楼层编号=:floodcode';
with FloodAdo do
begin
  close;
  sql.clear;
  sql.add(str);
  Parameters.ParamByName('floodcode').Value:=trim(FloodCodeEdit.Text);
  try
  if messagedlg('确定删除吗?',mtconfirmation,[mbyes,mbno],0)=mryes then
  begin
  execsql;
  showmessage('删除成功!');
  end;
  except
  showmessage('删除失败!');
  end;
 end;
 fclearbt.Click;
end;

procedure TRoomTypeFm.feditbtClick(Sender: TObject);
var
vpf:boolean;
vpfprice:string;
begin
 //数据验证
    if FloodNameEdit.Text='' then
  begin
    showmessage('请输入楼层名称');
    exit;
   end;

 //数据提交代码
   str:='update 楼层编号表 set 楼层名称=:floodname where 楼层编号=:floodcode';
    with FloodAdo do
    begin
      close;
      sql.Clear;
      sql.Add(str);
      Parameters.ParamByName('floodname').Value:=trim(FloodNameEdit.Text);
      Parameters.ParamByName('floodcode').Value:=trim(FloodCodeEdit.Text);
         try
      if messagedlg('确定修改吗?',mtconfirmation,[mbyes,mbno],0)=mryes then
      begin
      execsql;
      showmessage('修改成功!');
      end;
      except
       showmessage('修改失败!');
      end;
    end;
   fclearbt.Click;
   FloodNameEdit.SetFocus;
end;

procedure TRoomTypeFm.faddbtClick(Sender: TObject);
var
vpf:boolean;
vpfprice:string;
begin
//数据验证代码
   if FloodNameEdit.Text='' then
  begin
    showmessage('请输入楼层名称');
    exit;
   end;

 //数据提交代码
  with FloodAdo do
  begin
   close;
   sql.clear;
   sql.Add('select 楼层编号,楼层名称 from 楼层编号表 where 楼层编号=:floodcode');
    Parameters.ParamByName('floodcode').Value:=trim(FloodCodeEdit.Text);
    open;
    if recordcount>=1 then
      begin
      showmessage('此类型编号存在,如果是修改请点击修改按钮');
      fclearbt.Click;
      exit;
      end;
  end;
   str:='insert into 楼层编号表(楼层编号,楼层名称)';
   str:=str+' values(:floodcode,:floodname)';
  with FloodAdo do
    begin
      close;
      sql.Clear;
      sql.Add(str);
      Parameters.ParamByName('floodname').Value:=trim(FloodNameEdit.Text);
      Parameters.ParamByName('floodcode').Value:=trim(FloodCodeEdit.Text);
        try
       execsql;
      except
       showmessage('增加失败!');
      end;
    end;
//str:='select 类型编号,类型名称,价格,拼房价格,可超预定数,是否可拼房 from 客房类型表 order by 类型编号';
//HotelFm.DataRefresh(RoomTypeAdo,str);
fclearbt.Click;
FloodNameEdit.SetFocus;
end;

procedure TRoomTypeFm.ClearBtClick(Sender: TObject);
begin
str:='select  类型编号,类型名称,价格,拼房价格,可超预定数,是否可拼房 from 客房类型表';
str1:='select max(类型编号) as MaxCode from 客房类型表';
TypeCodeEdit.Text:=HotelFm.GetMaxNum(RoomTypeAdo,str,str1);   //获取最大编号
str:='select count(类型编号) as totle from 客房类型表';
totlepl.Caption:='总记录数:'+inttostr(hotelfm.DataTotle(RoomTypeAdo,str))+'条'; //获取记录总数
str:='select 类型编号,类型名称,价格,拼房价格,可超预定数,是否可拼房 from 客房类型表 order by 类型编号';
HotelFm.DataRefresh(RoomTypeAdo,str);   //刷新数据
//初始化客房设置输入框
TypeNameEdit.Clear;
OrderNumEdit.Text:='0';
PriceEdit.Clear;
PPriceEdit.clear;
TypeNameEdit.SetFocus;
end;

procedure TRoomTypeFm.DelBtClick(Sender: TObject);
begin
str:='delete * from 客房类型表 where 类型编号=:typecode';
with RoomTypeAdo do
begin
  close;
  sql.clear;
  sql.add(str);
  Parameters.ParamByName('typecode').Value:=trim(TypeCodeEdit.Text);
  try
  if messagedlg('确定删除吗?',mtconfirmation,[mbyes,mbno],0)=mryes then
  begin
  execsql;
  showmessage('删除成功!');
  end;
  except
  showmessage('删除失败!');
  end;
 end;
 ClearBt.Click;
end;

procedure TRoomTypeFm.EditBtClick(Sender: TObject);
var
vpf:boolean;
vpfprice:string;
begin
//数据验证代码
   if TypeNameEdit.Text='' then
  begin
    showmessage('请输入客房类型名称');
    exit;
   end;
  if (OrderNumEdit.Text='')  then
  begin
    showmessage('请输入可超预定数或者输入的可超预定数不为数字类型');
    exit;
   end;
   if (PriceEdit.Text='') then
  begin
    showmessage('请输入价格或者输入的价格格式错误');
    exit;
   end;
   if pf.Checked then
   begin
     if (PPriceEdit.Text='') then
     begin
    showmessage('请输入拼房价格或者输入的拼房价格格式错误');
    exit;
   end;
    vpf:=true;
    vpfprice:=PPriceEdit.Text;
   end
   else
   begin
    vpf:=false;
    vpfprice:='0';
   end;
   str:='update 客房类型表 set 类型名称=:typename,价格=:price,拼房价格=:pprice,可超预定数=:ordernum,是否可拼房=:pf where 类型编号=:typecode';
   with RoomTypeAdo do
    begin
      close;
      sql.Clear;
      sql.Add(str);
      Parameters.ParamByName('typecode').Value:=trim(TypeCodeEdit.Text);
       Parameters.ParamByName('typename').Value:=trim(TypeNameEdit.Text);
       Parameters.ParamByName('price').Value:=trim(PriceEdit.Text);
       Parameters.ParamByName('pprice').Value:=trim(vpfprice);
       Parameters.ParamByName('ordernum').Value:=trim(OrderNumEdit.Text);
       Parameters.ParamByName('pf').Value:=vpf;
        try
      if messagedlg('确定修改吗?',mtconfirmation,[mbyes,mbno],0)=mryes then
      begin
      execsql;
      showmessage('修改成功!');
      end;
      except
       showmessage('修改失败!');
      end;
    end;
 ClearBt.Click;
TypeNameEdit.SetFocus;
end;

procedure TRoomTypeFm.DBGrid2CellClick(Column: TColumn);
begin
with FloodAdo do
 begin
  FloodCodeEdit.text:=fieldbyname('楼层编号').AsString;
  FloodNameEdit.text:=fieldbyname('楼层名称').AsString;

 end;
end;

procedure TRoomTypeFm.FloodNameEditKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if key=13 then
begin
 if FloodNameEdit.Text='' then
 begin
 showmessage('请输入楼层名称');
 exit;
 end
 else
 faddbt.Click;
end;
end;

end.

⌨️ 快捷键说明

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