sql server中同一条记录的其他字段中如何引用id(标识)字段。
具体就是:我在delphi中添加一条记录到数据库表,表中有id(标识,自增)作为流水号。请问,在添加这条记录时,有其他字段要引用到id字段的值,最后,一起提交。请问这样作可以么?如果可以,怎么实现?(多用户操作)
多谢大家!

解决方案 »

  1.   

    也许有人喜欢用触发器实现它。
    建议还是insert 后再UPDATE吧。
      

  2.   

    用触发器,先取到这个新id字段值存入一个string,就可以引用这个id值做其它的操作了。
    最后提交这条新纪录,可以的。
      

  3.   

    谢谢两位。但在我insert之后,我该如何得到这条记录的id呢?如果这时又有人添加了记录,我会不会得到别人的id?我就是想不明白如何处理并发操作!还请大家执教!
      

  4.   

    用触发器即可解决你的问题,你取了这个id,别人取的时候就只能取下一条id了,不会重复!
    比如你取出来的id是123,那别人再来取只能取到124了。
      

  5.   

    同意halfdream(哈欠)
    先INSERT,在UPDATE好
      

  6.   

    楼主说了:在添加这条记录时,有其他字段要引用到id字段的值,最后,一起提交。先INSERT,再UPDATE,也不能满足呀!
      

  7.   

    对不起,再多问一句。如果我采用“先INSERT,在UPDATE”,那我用adodataset打开数据库时,是不是要用locktype属性呀?如果用?请教代码如何写?
      

  8.   

    用id排序,然后获取最后一条记录的id的值,很明显id+1就是新增一条记录的id值,这样其它字段就可以用了,组合好后,就可以给数据库添加记录了
      

  9.   

    对楼上说法有些疑问!
    如果,在我获取最后一条记录的id的值的同时,又有一条记录添加进来。那我再id+1岂不就是刚刚别人添加记录的id!还是不能满足要求呀!!!!