如何在插入和选择之间刷新数据库

How to refresh database between Inserting and Selecting

我正在尝试从刚刚创建的数据库中的记录中获取数据,但未从中找到任何数据。

我尝试过使用不同的连接,希望它能够 'see' 新数据,但这不起作用,我被卡住了!

Using oCmd As New OleDbCommand("Insert Into Users (FirstName, LastName, Username, `Password`, Teacher) Values (@firstName, @lastName, @username, @password, 0)", myConnection)
   oCmd.Parameters.Add("@firstName", OleDbType.VarChar, 255).Value = txtFirstName.Text
   oCmd.Parameters.Add("@lastNamee", OleDbType.VarChar, 255).Value = txtLastName.Text
   oCmd.Parameters.Add("@username", OleDbType.VarChar, 255).Value = txtUsername.Text
   oCmd.Parameters.Add("@password", OleDbType.VarChar, 255).Value = txtPassword.Text
   oCmd.ExecuteNonQuery()
End Using
Dim userID As String = ""
Using ocmd As New OleDbCommand("Select * From Users Where FirstName = @firstName And LastName = @lastName", myConnection)
   ocmd.Parameters.Add("@firstName", OleDbType.Char, 255).Value = txtFirstName.Text
   ocmd.Parameters.Add("@lastName", OleDbType.Char, 255).Value = txtLastName.Text
   Dim dataReader As OleDbDataReader = ocmd.ExecuteReader()
   While dataReader.Read
      userID = dr("UserID")
   End While

显示的错误是

System.InvalidOperationException: 'No data exists for the row/column.'

我只想获取已创建记录的用户ID。感谢任何帮助。

获取最后输入的 ID。

Dim cmd1 As New OleDbCommand("Select @@IDENTITY", myConnection)
Dim itgID As Integer = CInt(cmd1.ExecuteScalar)