Как обновить базу данных между вставкой и выбором - PullRequest
0 голосов
/ 02 февраля 2019

Я пытаюсь получить данные из записи в только что созданной базе данных, но из нее не найдено никаких данных.

Я пытался использовать разные соединения в надежде, что она сможет«увидеть» новые данные, но это не работает, и я застрял!

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: 'Нет данныхсуществует для строки / столбца. '

Все, что я хочу, это получить идентификатор пользователя созданной записи.Любая помощь приветствуется.

1 Ответ

0 голосов
/ 02 февраля 2019

Чтобы получить последний введенный идентификатор.

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