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

解决方案 »

  1.   

    你再多用一个SELECT MAX(ID)AS ID FROM TABLE
    这样再加一不就得到这个值了?
      

  2.   

    这样我也想过。但是,如果是多用户,多线程操作,会不会出现得到别人id的错误?(id 是标识并且是主键)
      

  3.   

    如果有多个用户可以对同一张表进行操作,就不应该用自增长id来做记录标识了。增加一个[时间戳]子段!然后根据[时间戳]字段来生成记录Id!
      

  4.   

    select @@identity
    可以取出最後一次插入的Id.
      

  5.   

    除了事务,我能不能在adodataset上做些并发处理,比如通过locktype属性?
      

  6.   

    AdoDataSet是本地的数据集,你可以做任何操作!
    当你向数据库中进行更新时,数据库就会对数据的有效性作检查!不管你对数据集作过什么,它所要的是结果!Delphi对数据库的操作很灵活,可以用事务,还可以开辟本地数据集的缓存,然后根据需要进行立即更新和批量更新,再加上数据库的事务,可以说:灵活、灵活、真是灵活!:)
      

  7.   

    我直说把!谁叫我菜呢!
    我的表结构:id(自增标识,主健)、jsjdm、documentid
    其中,documentid字段,要用到id字段的值(documentid字段的值就是系统时间年月日+id)。
    我要添加一条完整纪录,该如何写代码?(涉及多用户并发操作)
      

  8.   

    可以分两次提交
    第一次先添加一条新记录,同时得到那个字增的id好
    第二次在update一下这条记录,把documentid这个字段写进去