有两个表分别是订单表和会员表,需要当 订单表其一表项“订单客户名称” 与 会员表的“会员姓名”相同时 执行一定的折扣计算(订单表中的总额*折扣率=实际支付总额) 请问delphi该如何实现? 
这个我自己想出来的方法,虽然没有语法错误,可执行了没有反映,高手们看看是什么原因?
procedure TfrmRoomBalance.DBEdit2Change(Sender: TObject); 
begin 
  with DM, DM.qryOrderRooms, DM.qryVIP do //订单表,会员表
  begin 
    Close; 
    SQL.Clear; 
    SQL.Add('SELECT * FROM OrderRooms WHERE 0=0 '); //查找订单表中 客户名称
    SQL.Add('AND GuestName ='); 
    Open; First; 
    begin 
      Close; 
      SQL.Clear; 
      SQL.Add('SELECT * FROM VIP WHERE 0=0 '); //查找会员表中会员名
      SQL.Add('AND VIPName ='); 
      Open; First; 
      if FieldByName('GuestName').AsString = FieldByName('VIPName').AsString then                                                 //当2表项名字相同时
        DBEdit2.Text := FloatToStr(StrToFloat(DBedit1.Text)* 
                    StrToFloat(qryVIP.FieldByName('Discount1').AsString)); 
    end;                                           //执行订单表总金额*会员表折扣率的计算
  end; 
end;
小弟对delphi不怎么懂,请高手们说详细一点 谢谢