end; end; //添加窗口的代码 procedure TForm7.Button1Click(Sender: TObject); begin r1:=adotable1.fieldbyname('roomid').asstring; r2:=adotable1.fieldbyname('categoryname').asstring; r3:=adotable1.fieldbyname('unitprice').asstring; r4:=adotable1.fieldbyname('floors').asstring; close; f1:=1; end; procedure TForm7.Button2Click(Sender: TObject); begin close; f1:=0; end; procedure TForm7.ComboBox1Change(Sender: TObject); var s,s1:string; begin s:=combobox1.text; if s='ALL' then begin s1:='if object_id(''fj'')is not null drop table fj'; s1:=s1+' select roomid,categoryname,unitprice,floors into fj from rooms as a '; s1:=s1+' join roomcategories as b on a.categoryid=b.categoryid where isempty=1 and roomid<>'''+r+''''; end else begin s1:='if object_id(''fj'')is not null drop table fj'; s1:=s1+' select roomid,categoryname,unitprice,floors into fj from rooms as a '; s1:=s1+' join roomcategories as b on a.categoryid=b.categoryid where isempty=1 and categoryname='''+s+'''and roomid<>'''+r+''''; end; adocommand1.commandtext:=s1; adocommand1.execute; with adotable1 do begin close; tablename:='fj'; open; end; end; procedure TForm7.FormShow(Sender: TObject); var i:integer; s:string; begin combobox1.items.add('ALL'); with adoquery1 do begin close; sql.text:='select * from roomcategories'; open; while not eof do begin combobox1.items.add(trim(fieldbyname('categoryname').asstring)); next; end; end; combobox1.itemindex:=0; with dbgrid1 do begin columns.Clear; for I := 0 to 3 do columns.Add; columns[0].Title.caption:='房间号';
columns[1].Title.caption:='房间类型'; columns[2].title.caption:='价格'; columns[3].Title.caption:='楼层'; columns[0].fieldname:='roomid'; columns[1].fieldname:='categoryname'; columns[2].fieldname:='unitprice'; columns[3].fieldname:='floors'; columns[0].Width:=115; columns[1].Width:=115; columns[2].Width:=115; columns[3].width:=115; for I := 0 to 3 do begin columns[i].Title.Alignment:=tacenter; columns[i].alignment:=taleftjustify; end; s:='if object_id(''fj'')is not null drop table fj'; s:=s+' select roomid,categoryname,unitprice,floors into fj from rooms as a '; s:=s+' join roomcategories as b on a.categoryid=b.categoryid where roomid<>'''+r+''''; adocommand1.commandtext:=s; adocommand1.execute; with adotable1 do begin close; tablename:='fj'; open; end; end; end; //删除按钮 procedure TForm6.Button3Click(Sender: TObject); var s:string; begin s:=trim(dbgrid1.SelectedField.text); if application.MessageBox(pchar('确定删除?'),'caption',4+32)=6 then adotable1.delete; end; //合计按钮 procedure TForm6.Button4Click(Sender: TObject); var isvip,s:string; days,unitprice:integer; x:real; begin isvip:=combobox5.text; unitprice:=0; days:=strtoint(edit4.text); with adoquery2 do begin close; sql.text:='select * from rz'; open; while not eof do begin unitprice:=unitprice+fieldbyname('unitprice').asinteger; next; end; end; if isvip='会员' then x:=unitprice*0.88 else x:=unitprice*days; edit10.text:=floattostr(x*days); edit11.text:=floattostr(x); edit12.text:=floattostr(x+x*days); end; //登记按钮
procedure TForm6.Button5Click(Sender: TObject); var error,s1,s2,s3,s4,s5,rid,cid,oid,odate,uprice,eid,s:string; tax,t1,t2,count:integer; begin tax:=0; //验证数据 if edit1.text='' then begin error:='姓名不能为空!'; tax:=1; end; t1:=0; t2:=0; if length(edit2.text)<>4 then begin t1:=1; tax:=1; end; if not trystrtoint(edit2.text,tax) then begin t2:=1; tax:=1; end; if (t1=0)and (t2=0) then else error:=error+char(13)+'证件号码输入错误!'; if strtoint(edit4.text)<0 then begin error:=error+char(13)+'天数输入错误!'; tax:=1; end; if tax=1 then showmessage(error) else //插入数据分别在rooms、hotelorders、hotelorderitems、earnest、hotelcustomers表中生成数据 begin with adoquery2 do begin close; sql.text:='select * from rz'; open; while not eof do begin uprice:=fieldbyname('unitprice').asstring; //rooms rid:=fieldbyname('roomid').asstring; with adoquery3 do begin close; sql.text:='select * from rooms where roomid='''+rid+''''; open; edit; fieldbyname('isempty').asstring:='0'; fieldbyname('isusing').asstring:='1'; fieldbyname('isreserve').asstring:='0'; post; end; //hotelorders with adoquery3 do begin close; sql.clear; sql.text:='select * from hotelorders'; open; append; edit;
datetimetostring(oid,'yyyymmdd',now()); ii:=ii+1; oid:=oid+inttostr(ii); fieldbyname('orderid').asstring:=copy(oid,3); datetimetostring(odate,'yyyy-mm-dd',now()); fieldbyname('orderdate').asstring:=odate; fieldbyname('customerid').AsString:=trim(edit2.Text); with adoquery4 do begin close; sql.clear; sql.Text:='select * from hotelemployees where employeename='''+dl+''''; open; end; eid:=adoquery4.fieldbyname('employeeid').AsString; fieldbyname('employeeid').AsString:=trim(eid); post; end; //hotelorderitems with adoquery3 do begin close; sql.Clear; sql.Text:='select * from hotelorderitems'; open; append; edit; fieldbyname('orderid').AsString:=copy(oid,3); fieldbyname('roomid').AsString:=rid; fieldbyname('time').AsString:=trim(edit4.Text); fieldbyname('unitprice').AsString:=uprice; if combobox5.Text='会员' then fieldbyname('discount').AsString:='0.12' else fieldbyname('discount').asstring:='0'; post; end; with adoquery4 do begin close; sql.clear; sql.text:='select * from reserve where roomid='''+rid+''''; open; end; count:=adoquery4.recordcount; if count>0 then begin s:='update rooms set isreserve=0 where roomid='''+rid+''''; s:=s+' delete reserve where roomid='''+rid+''''; adocommand1.commandtext:=s; adocommand1.execute; end; next; end; end; //earnest with adoquery3 do begin close; sql.clear; sql.text:='select * from earnest'; open; append; edit; fieldbyname('customerid').asstring:=trim(edit2.text); fieldbyname('customername').asstring:=trim(edit1.text); fieldbyname('roomid').asstring:=rid; fieldbyname('emoney').asstring:=trim(edit11.text); post;
end; //hotelcustomers with adoquery3 do begin close; sql.clear; sql.text:='select * from hotelcustomers'; open; append; edit; fieldbyname('customername').asstring:=trim(edit1.text); fieldbyname('customerid').asstring:=trim(edit2.text); fieldbyname('birthdate').asstring:=trim(edit3.text); fieldbyname('address').asstring:=trim(edit8.text); fieldbyname('sex').asstring:=trim(combobox1.text); fieldbyname('country').asstring:=trim(combobox2.text); fieldbyname('province').asstring:=trim(combobox3.text); fieldbyname('city').asstring:=trim(combobox4.text); if trim(combobox5.text)='会员' then fieldbyname('isvip').asstring:='1' else fieldbyname('isvip').asstring:='0'; post; end; showmessage('登记成功!'); end; //键盘控制聚焦 procedure TForm6.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if (key=13) or (key=40) then begin key:=0; selectnext(activecontrol,true,true); end; if key=38 then begin key:=0; selectnext(activecontrol,false,true); end; end; 5) 未入住查看