我建了一个表,主键是自动ID的我插入一条新记录,那么如何立刻获得插入的新记录的自动ID,即主关键字呢?

解决方案 »

  1.   

    insert ....
    select @@identity注意在一个事务中操作
      

  2.   

    请使用[IDENT_CURRENT]
    用法:SELECT IDENT_CURRENT('TABLENAME')
      

  3.   

    SELECT IDENT_CURRENT('TableName') --返回当前的最后自动编号
    SELECT IDENT_INCR('TableName')--返回增量值
    SELECT IDENT_SEED('TableName')--返回种子值
    返回下一个自动编号:
    SELECT IDENT_CURRENT('TableName') + (SELECT IDENT_INCR('TableName'))
      

  4.   

    如果你是在用ADODBDim Conn As New adodb.Connection
    Dim rs1 As New adodb.Recordset
    Dim rs2 As New adodb.RecordsetConn.ConnectionString = "..."
    Conn.OpenConn.BeginTrans
    On Error GoTo Errx
    rs1.Open SQLstr, Conn, adOpenDynamic, adLockOptimistic
    rs2.Open SQLstr, Conn, adOpenDynamic, adLockOptimistic
    rs1.AddNew
    rs1.Fields(?)=???
    rs1.Fields(?)=???
    ...
    rs1.Updaters2.AddNew
    rs2.Fields(FK).Value = rs1.Fields(PK).Value
    rs2.Fields(?)=???
    rs2.Fields(?)=???
    ...
    rs2.Update
    Conn.CommitTransErrx:
    Conn.RollbackTrans
    mesgbox .....