在Access中选择@@ IDENTITY WHERE

时间:2015-12-14 14:32:12

标签: vb.net ms-access

尝试获取活动用户在Access数据库中提交的最后一个票证ID。除非我离开" SELECT @@ IDENTITY"否则这不起作用。本身没有WHERE子句。如何使用WHERE子句?

        'Pulls the last submitted ticket ID, and makes sure it was submitted by the active user to prevent a race condition scenario among multiple users
    Dim returnvalue As Integer = -1
    Dim custCMD As OleDb.OleDbCommand = New OleDb.OleDbCommand("SELECT @@IDENTITY WHERE [Last Modified By] = '" & Environment.UserName & "';", connection)


    returnvalue = CType(custCMD.ExecuteScalar(), Integer)


    MsgBox(returnvalue)

1 个答案:

答案 0 :(得分:1)

SELECT @@ IDENTITY中不需要WHERE子句,因为该命令返回与命令关联的连接的最后生成的自动编号 。在其他PC或您自己的应用程序的其他实例上运行其他连接没有竞争条件。不确定多个线程,但如果您按照最佳做法打开/使用/关闭连接,那么您就安全了