我的系统调用webservice服务,服务中有一个方法有产生ID步骤的,sql为“
[webmethod]
public void addFun(){
........
sql="select ID=max(ID)+1 from TbA;
string TbA_ID=cmd.Scalar();
......
sql="input tbB(ID,OtherValues) values(TbA_ID,OtherValues)"
cmd.executeNoQuery();
........
}
这样有时在TbB表中会产生相同ID的两条记录。请教该如何修改呢?
在addFun方法里,Lock(SqlConnection)这样可以解决吗?
[webmethod]
public void addFun(){
........
sql="select ID=max(ID)+1 from TbA;
string TbA_ID=cmd.Scalar();
......
sql="input tbB(ID,OtherValues) values(TbA_ID,OtherValues)"
cmd.executeNoQuery();
........
}
这样有时在TbB表中会产生相同ID的两条记录。请教该如何修改呢?
在addFun方法里,Lock(SqlConnection)这样可以解决吗?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货