Foxtable(狐表)用户栏目专家坐堂 → 关于Insert into 执行后,如何同时获得该行的_Identify 值


  共有2396人关注过本帖树形打印复制链接

主题:关于Insert into 执行后,如何同时获得该行的_Identify 值

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109474 积分:557032 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/9/29 8:45:00 [显示全部帖子]

如果有编号的,插入后通过编号获取这行数据即可。

如果一定要用SQLCommand操作,参考
Access,必须开启事务

try
    Dim val As Integer
    Connections("A").BeginTransaction()
    Dim cmd As New SQLCommand
    cmd.C
    cmd.CommandText = "insert into {表A}(第一列,第二列) values('aa','bb')"
    cmd.ExecuteNonQuery
    cmd.CommandText = "select @@IDENTITY as ID"
    val  = cmd.ExecuteScalar()
    Connections("A").Commit
    Output.Show(val)
Catch ex As Exception '如果出错
    msgbox(ex.message)
    Connections("A").Rollback() '回滚事务,撤销所有操作
End Try

sqlserver参考

Dim val As Integer
Dim cmd As New SQLCommand
cmd.C
cmd.CommandText = "insert into {表A}(第一列,第二列) values('aa','bb');select @@IDENTITY as ID"
val  = cmd.ExecuteScalar()
Output.Show(val)

如果是批量插入的,以上方法只能获取最后插入的IDENTITY值

 回到顶部