【问题标题】:How to refresh database between Inserting and Selecting如何在插入和选择之间刷新数据库
【发布时间】:2019-06-26 21:48:51
【问题描述】:

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

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

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: '行/列不存在数据。'

我想要的只是获取已创建记录的用户 ID。任何帮助表示赞赏。

【问题讨论】:

  • 你查过数据库是否已经添加了记录吗?

标签: sql vb.net refresh oledb


【解决方案1】:

获取最后输入的 ID。

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

【讨论】:

猜你喜欢
  • 2012-08-02
  • 2013-09-26
  • 1970-01-01
  • 2011-11-12
  • 1970-01-01
  • 1970-01-01
  • 2015-02-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多