sql server 2000数据,二个表,一个基本信息表里有一个保存费用的,另一表是保存费用明细,每月都会遇到有几笔数据,只更新了明细表,但基本信息的总费用表没有更新F_Database.ADOCon.BeginTrans;    
      qf := FormatFloat('0.00 ', F_Database.Qtb_StudentInfo.fieldbyname('油费').AsFloat + strtofloat(Edit2.Text));      F_Database.Qtb_StudentInfo.Close;
      F_Database.Qtb_StudentInfo.SQL.Clear;
      F_Database.Qtb_StudentInfo.SQL.Add('update tb_StudentInfo set 油费=''' + trim(qf) + ''' where 学员编号=''' + trim(Edit1.Text) + '''');
      try
        f_database.Qtb_StudentInfo.ExecSQL;
      except
        on e: exception do
        begin
          f_database.ADOCon.RollbackTrans;
          application.messagebox('错误', '提示', mb_ok + mb_iconinformation);
          exit;
        end
      end;      F_Database.Qtb_MoneyJf.Close;
      F_Database.Qtb_MoneyJf.SQL.Clear;
      F_Database.Qtb_MoneyJf.SQL.Add('insert into tb_MoneyJf(学员编号,姓名,缴费项目,缴费金额,缴费日期,schooln,经手人,收款人,充值卡号)values'
        + '(''' + trim(Edit1.Text) + ''','
        + '''' + trim(label4.Caption) + ''','
        + '''' + trim('油费') + ''','
        + '''' + trim(formatfloat('0.00 ', StrToFloat(Edit2.Text))) + ''','
        + '''' + trim(DateTimeToStr(Now())) + ''','
        + '''' + trim(schooln) + ''','
        + '''' + trim(UserName) + ''','
        + '''' + trim(ComboBox2.Text) + ''','
        + '''' + trim(Edit4.Text) + ''')');
      try
        f_database.Qtb_MoneyJf.ExecSQL;
      except
        on e: exception do
        begin
          f_database.ADOCon.RollbackTrans;
          application.messagebox('错误', '提示', mb_ok + mb_iconinformation);
          exit;
        end
      end;      f_database.ADOCon.CommitTrans;