用ado在sqlserver中新生成一条记录的时候如何直接获得这条记录的自动生成序号?如题,这个表中有一个自动生成序号的字段,我需要直接获得这个序号用来操作?
应该怎么做?

解决方案 »

  1.   

    --创建存储过程
    CREATE PROCEDURE prc_insertfacecontrol
    @controltype nvarchar (10),
    @controlwidth nvarchar (10), 
    @controlheight nvarchar (10), 
    @controlsize int ,
    @controldata nvarchar (255), 
    @contenttype nvarchar (255), 
    @kjid int ,
    @userid int, 
    @controlid int output
    ASBEGIN
    INSERT INTO facecontrol (
    controltype, 
    controlwidth,
    controlheight,
    controlsize,
    controldata,
    contenttype,
    kjid, 
    userid  
    )
    VALUES 
    (
    @controltype,
    @controlwidth, 
    @controlheight, 
    @controlsize ,
    @controldata ,
    @contenttype ,
    @kjid ,
    @userid
    )
    select @controlid=IDENT_CURRENT('facecontrol')
    END
    GO--执行存储过程:
    declare @controlid int 
    exec prc_insertfacecontrol '1','800','600',71189,'asdfadfadfasdfadfafd','image/pjpeg',2,1,@controlid=@controlid output
    --打印输出参数:
    print @controlid
      

  2.   

    你自己查询出来
    根据录入人,按录入时间逆序排列,那最后一条就是了
    可以用存储过程来取得,好像这样写的select @@identity
      

  3.   

    有函数貌似
    在SQL Server帮助中查Identity