M
machinxing
Unregistered / Unconfirmed
GUEST, unregistred user!
各位大虾,请教一下为什么在程序运行的时候会发生这样的跳转? 他们之间的联系在哪? 当执行到edit处 我并不希望产生跳转, 这种情况应该如何避免? 谢谢了 procedure TfrmRoomBalance.btnQueryClick(Sender: TObject); var Day1,Day2:TDateTime; begin with DM.qryOrderRooms do //客房单据表 begin Close; SQL.Clear; SQL.Add('SELECT * FROM OrderRooms'); SQL.Add('WHERE 0=0'); if RadioGroup1.ItemIndex = 0 then //为0,表示查询未结账单 SQL.Add('AND IsBalance= 0 '); if RadioGroup1.ItemIndex = 1 then //为1,表示查询已结账单 SQL.Add('AND IsBalance= 1 '); if edtTableID.Text <> '' then //查询edtTableID.Text 内容的账单 SQL.Add('AND RoomID LIKE '+ QuotedStr('%'+ edtTableID.Text +'%')); if edtCustomer.Text <> '' then //查询edtCustomer.Text 内容的账单 SQL.Add('AND GuestName LIKE '+ QuotedStr('%'+ edtCustomer.Text +'%')); if chkDate.Checked then //查询DateToStr(dtpDate.Date)内容的账单 SQL.Add('AND BeginDate LIKE '+ QuotedStr('%'+ DateToStr(dtpDate.Date) +'%')); SQL.Add('ORDER BY BeginDate DESC'); Open; First; DM.qryOrderRooms.Edit; <----------------------------------这一句之后产生了跳转 DM.qryOrderRooms.FieldByName('LeaveDate').AsString := formatDateTime('yyyy-mm-dd', now); //离店日期显示当天 begin Day1 := StrToDate(DBText10.Caption); Day2 := StrToDate(edtLeaveDate.Text); DM.qryOrderRooms.FieldByName('KipDays').AsString := FormatFloat('1',Day2-Day1); //居住天数 end; end; 跳转到了数据模板部分的代码处: procedure TDM.qryOrderRoomsAfterInsert(DataSet: TDataSet); begin <---------------------------------------------------------跳转到了这里 with DataSet do begin FieldByName('OrderRoomID').AsString := GenerateNumber('OrderRooms', 'OrderRoomID', 'R'); FieldByName('RoomID').AsString := frmOrderRooms.lblRoomID.Caption; FieldByName('RoomPrice').AsString := frmOrderRooms.lblRoomPrice.Caption; end; end;