📄 roomtypeut.pas
字号:
//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 + -