这个SQL如何避免重复出现ID?SOS,数据库全乱了套了!~数据库中本来全是用软件自带的表单填写数据,因为不太适合公司的要求,进行了二次开发,可是不知道是SQL的写法有问题还是那儿不对,在增加的时候会出现重复的ID,请各位路过的大侠看看!烦死了呀!下面的表达式是用事件探查器侦察到的语句:
...
update tblmaxNum set fmaxnum=fmaxnum+1 where ftablename='icNoticebill'
...意思是当增加一张单据时,在tblmaxNum中将ftablename='icNoticebill'自动加1,,我看到后也在二次开发的地方做了如下的表达式:
增加单据的时候是这样的:
Call mylink
sql1 = "select fmaxnum as billNOmax from tblmaxNum where ftablename='ICStockBill'"
RST.Open sql1, CNN, adOpenKeyset, adLockOptimistic
ff = RST.Fields("billNOmax")<-------------这个就是ID
Sub nomax()
Call mylink
SQL = "update tblmaxNum set fmaxnum=fmaxnum+1 where ftablename='ICStockBill'"
CNN.Execute SQL
Set RST = Nothing: CNN.Close
End Sub
可是在网络版用的时候就会出现重复的ID(是由fmaxnum的数值决定),看看我得的这句话应该如何写?
...
update tblmaxNum set fmaxnum=fmaxnum+1 where ftablename='icNoticebill'
...意思是当增加一张单据时,在tblmaxNum中将ftablename='icNoticebill'自动加1,,我看到后也在二次开发的地方做了如下的表达式:
增加单据的时候是这样的:
Call mylink
sql1 = "select fmaxnum as billNOmax from tblmaxNum where ftablename='ICStockBill'"
RST.Open sql1, CNN, adOpenKeyset, adLockOptimistic
ff = RST.Fields("billNOmax")<-------------这个就是ID
Sub nomax()
Call mylink
SQL = "update tblmaxNum set fmaxnum=fmaxnum+1 where ftablename='ICStockBill'"
CNN.Execute SQL
Set RST = Nothing: CNN.Close
End Sub
可是在网络版用的时候就会出现重复的ID(是由fmaxnum的数值决定),看看我得的这句话应该如何写?
BeginTrans
申请 ID
执行 Insert
CommitTrans