我在form1里通过按钮button1给数据库access里的user表添加字段,这时编号原来的编号+1,单击button2将弹出form2,form2里的按钮tianjia也是可以向数据库access里的user表添加字段(按照原来user表里的编号+1)。我要怎么写添加编号的代码,才能让两个按钮都给user表按照编号+1添加字段。而不会起冲突。

解决方案 »

  1.   

    你在按钮的时候才去取最后的编号并且加1,这样不会有冲突的。如果怕并发的问题就用transaction事务,加锁
      

  2.   

    设置ID为主键的话,如果删除掉一些数据,重新插入的数据ID就会在原来的编号上继续加上去,而不会清零后再加。
      

  3.   

    你可以不设置主键
    直接查找最后一个IDselect max(ID)+1 FROM 表
    每次都是获得的最大的ID+1,这样总可以了吧???这样就算并发,你直接锁住,况且并发的几率0.00001%  所以根本不需要理会。。放心,这样做很合适。 
      

  4.   

    如果是主键的话最好用自动增长的.别手动加.手动加会有问题的.考虑这个id是别的表外键.而这个id的最后一个数被删除的情况
      

  5.   

    照你说的,也根本是不会有冲突的,你在点击bottun的时候,数据库就相当于更新了一次,再点击时已经是更新后的数据库了
      

  6.   

    select max(ID)+1 FROM 表这样完全没有问题,朋友,这里的ID不是自增主键
      

  7.   

    string sql="select max(ID)+1 FROM 表"
    要怎么把ID中的数字传输给一个局部变量bianhao?
      

  8.   

    declare  @i int
     select @i = max(ID)+1 FROM 表