asp并发操作
代码如下:
conn.BeginTrans
on error resume next
medicineid=trim(request( "medicineid "))
amount=trim(request( "amount "))
sql= " insert into b(id,medicineid ,amount) values( "&id& ", "&medicineid& ", "&amount& ") "
conn.execute(sql)
sql= " update c set totalamount=totalamount- "&amount& " where medicineid= "&medicineid
conn.execute(sql)
if err.number =0 then
conn.CommitTrans '如果没有conn错误,则执行事务提交
else
conn.RollbackTrans '否则回滚
'回滚后的其他操作
strerr=err.Description
Response.Write "数据库错误!错误日志: <font color=red> "&strerr & " </font> "
Response.End
end if
可有时,新记录插入表C了,但B中库存量没有减.这里是不是我程序有错误,还是其他原因.请各位高手指点.不胜感激.
------解决方案--------------------
用
if conn.errors.count> 0 then
conn.errors.clear
conn.rollbacktrans
else
conn.committrans
end if
试试
------解决方案--------------------可能是数据库的问题
再查一下数据库和sql语句.