本人的程序功能大概是:
    大约5个人同时操作,将某个表(如:TableA)的数据导入到另一个表中(如:TableB)。在TableB中的字段ID是通过代码计算累加的
现在的问题是,5个人同时操作时,很容易产生重复的ID号出现,请教高人如何避免ID号重复保存到表中。

解决方案 »

  1.   

    你在插入到新表之前用事务操作,语句为:
    Connection.BeginTrans
    这样,当其中一个正在进行插入操作时,会锁定数据表。插入操作完成时提交事务:Conneciton.CommitTrans 另外, 你在程序代码里最好也加上是否已经存在一个相同ID的代码。
      

  2.   

    加一张表 
    放ID 的最大值写一个存储过程,每次调用,返回'最大值+1',并把'最大值+1' 插回表中这样可以保证,每次都是取最大值+1,但是ID不一定连续
      

  3.   

    把TableB的ID设置成自增字段,锁定类型用悲观锁。