如何使用VB.net在Formview插入的事件中获取最后插入的标识

Man*_*ngh 2 vb.net sql-server

我使用VB.net (FormView和ObjectDataSource)和Sql Server 2005.

我想在FormView1_ItemInserted的表中最后插入@@ identity

Protected Sub FormView1_ItemInserted(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.FormViewInsertedEventArgs) Handles FormView1.ItemInserted

End Sub
Run Code Online (Sandbox Code Playgroud)

我的问题是我想在FormView1_ItemInserted之后将FormView重定向到只读模式,但为此我需要以只读模式显示插入的记录,这只有在我最后插入@@ identity时才有可能.你能告诉我在我的申请,程序和代码中我需要做些什么改变才能实现这个目标.

请用示例代码建议!使用VB.net

谢谢.

最诚挚的问候,MS

Man*_*ngh 8

我用下面的逻辑解决了上面的问题

我更改了我的SQL插入过程并添加了新参数

@OrgID int OUTPUT 
Run Code Online (Sandbox Code Playgroud)

并在插入命令之后

我用了

SET @OrgID = SCOPE_IDENTITY()

RETURN
Run Code Online (Sandbox Code Playgroud)

进一步在我的应用程序重新配置我的ObjectDataSource后,我得到了以下参数

    <asp:Parameter ConvertEmptyStringToNull="true" Name="OrgID" Type="Int32" 
        Direction="Output" />
Run Code Online (Sandbox Code Playgroud)

在我的objectdatasource中插入参数

我在我的ObjectDataSource插入事件中写下面的代码.

Protected Sub RAOOrganisationDataSource_Inserted(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.ObjectDataSourceStatusEventArgs) Handles RAOOrganisationDataSource.Inserted
    Dim OrgID As Integer = e.OutputParameters("OrgID")
    Session("OrgID") = OrgID
End Sub
Run Code Online (Sandbox Code Playgroud)

因此我在Session中获得了最新的插入OrgID.

干杯!

如果在使用上述概念时出现任何错误,请告诉我