保存后,ExecuteScalar不会返回记录的ID

时间:2015-12-22 08:06:09

标签: database vb.net oledb oledbconnection

我正在使用VB.NET和MS ACCESS为后端开发Windows应用程序。 我使用以下代码保存记录...

以下代码工作正常,它保存记录但cmd.ExecuteScalar()根本不工作,它不会返回记录的已保存ID。它返回0。

   Try
        Dim cn As New ConnectionPool
        cn.open()
        Dim cmd As New OleDbCommand("", cn.Connection)
        _NewIdentity = Convert.ToInt32(cmd.ExecuteScalar())
        SetColumn(IdentityColumnName, _NewIdentity)
        cn.close()
        bSuccess = True
    Catch ex As EntityException
        Throw ex

我应该在上面的代码中做出哪些更改?

1 个答案:

答案 0 :(得分:0)

你的表需要将ID字段标记为Identity,最后我建议创建一个存储过程来封装INSERT语句,然后在它之后,包括这个T-SQL:选择SCOPE_IDENTITY()这是一个让它的函数您将获得在其执行的范围中插入的最新ID。