Sql 通过.net数据集更新调用从insert获取标识值

Sql 通过.net数据集更新调用从insert获取标识值,sql,sql-server,ado.net,identity,Sql,Sql Server,Ado.net,Identity,以下是将记录插入db表的一些示例代码: Dim ds As DataSet = New DataSet() da.Fill(ds, "Shippers") Dim RowDatos As DataRow RowDatos = ds.Tables("Shippers").NewRow RowDatos.Item("CompanyName") = "Serpost Peru" RowDatos.Item("Phone") = "(511) 555-5555" ds.Tables("Shippers

以下是将记录插入db表的一些示例代码:

Dim ds As DataSet = New DataSet()
da.Fill(ds, "Shippers")

Dim RowDatos As DataRow
RowDatos = ds.Tables("Shippers").NewRow
RowDatos.Item("CompanyName") = "Serpost Peru"
RowDatos.Item("Phone") = "(511) 555-5555"
ds.Tables("Shippers").Rows.Add(RowDatos)
Dim custCB As SqlCommandBuilder = New SqlCommandBuilder(da)
da.Update(ds, "Shippers")
它在托运人表中插入一行,托运人ID为 一致性值。我的问题是如何检索 插入新行时生成的标识值 托运人表

我已经做了几次网络搜索,但我在网上看到的资源并没有给出具体的回答,也没有继续讨论存储过程。任何帮助都将不胜感激。谢谢

您可以使用

你可以用


您可以调用存储过程来执行插入,而不是使用SqlCommandBuilder。在存储过程中,可以将
标识
值作为
输出
参数返回


请参阅以获取示例。

可以调用存储过程来执行插入,而不是使用SqlCommandBuilder。在存储过程中,可以将
标识
值作为
输出
参数返回


请参见示例。

这是几年前的一篇优秀文章,它给出了一个完美的解释以及实现此目的的演示方法。包括显示流程的屏幕截图

干杯


Peter

这是几年前的一篇优秀文章,它给出了一个完美的解释,以及如何实现这一点的演示。包括显示流程的屏幕截图

干杯


Peter

非常非常糟糕的选择标识current给出了从任何连接插入到表中的最后一个标识。这不是这个门廊刚刚插入的ID!非常非常糟糕的选择Ident_current给出从任何连接插入到表中的最后一个标识。这不是这个门廊刚刚插入的ID!或者,如果您有较旧版本的SQL Server,请使用scope_Identity();如果您有较旧版本的SQL Server,请使用scope_Identity()
SELECT IDENT_CURRENT("Shippers") AS CurrentIdentityShippers;