procedure Tneworder_qy.SBINSERTClick(Sender: TObject);
begin
//增加订单明细表项
if noworderdetailitem=1 then
begin
// 保存主文件数据交易开始
qyordermaster.FieldByName('orderdate').AsDateTime:=strtodate (formatdatetime('yyyy-mm-d',orderdatetimepicker.DateTime));
operationform.dbjingxun.StartTransaction;
try
qyordermaster.ApplyUpdates;
//完成交易
operationform.dbjingxun.Commit;
except
//取消交易
operationform.dbjingxun.Rollback;
//再产生一次例外,并中止这个程序的运行
raise;
end;
//删除缓冲区中的数据
qyordermaster.CommitUpdates;
end;
if (dsordermaster.DataSet.state in [dsinsert,dsedit]) then
begin
//dsorderformdetail.DataSet.;
qyorderdetail.insert;
qyorderdetail.fieldbyname('ordermasterid').asstring:=qyordermaster.fieldbyname('ordermasterid').asstring;
qyorderdetail.FieldByName('orderdetailitem').AsInteger:=noworderformitem;
noworderformitem:=noworderformitem+1;
end;
end;
to :newdongkui(老乌鸦)
你好
不知你说的那个存储过程是DELPHI中UPDATESQL还是MSSQL中的存储过程?不过我手头的书上是用DELPHI中QUERY中的UPDATE事务来做的!使用UPDATESQL的CACHE,只有当调用QUERY的POST等事务,才把所有更改的数据上传!难,难,难以决策!