使用变量 @@IDENTITY 返回。具体使用示例如下:(vb) Conn.BeginTrans on error resume next SQL = " insert into bc_dep (id1,id2,id3,id4,id5,depcode,dep_s,dep,upid,lvl) " _ & " select id1,id2,id3,id4,id5,' " & DepCode & " ' as depcode,left(' " & NewDep & " ',4) as dep_s,' " & NewDep & " ' as dep, " & TxtP.Tag & " as upid,lvl+1 as lvl from bc_dep where depid= " & TxtP.Tag Conn.Execute SQL SQL = " select @@IDENTITY as [newid] " NewDepID = Conn.Execute(SQL)( 0 ) if err.number <> 0 then Conn.CommitTrans else Conn.RollbackTrans end if err.clear on error goto 0 而另一种方法是 IDENT_CURRENT('table_name')