无法用数据填充OleDbDataAdapter

1 database vb.net ms-access oledbexception

我无法填写数据 OleDbDataAdapter

我收到OleDbException以下消息 Syntax error in FROM clause.

在这条线上 adapter.Fill(dataset, "User")

这是代码

Imports System.Data.OleDb

Public Class Form1

Public connection As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\MyDatabase.mdb;Persist Security Info=False")

Private Sub button_display_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button_display.Click
    connection.Close()
    connection.Open()
    Dim adapter As New OleDbDataAdapter
    adapter.SelectCommand = New OleDbCommand
    adapter.SelectCommand.Connection = connection
    adapter.SelectCommand.CommandText = "select * from user;"

    Dim dataset As New DataSet
    adapter.Fill(dataset, "User")
    connection.Close()
    Dim datarow = dataset.Tables("User").Rows(0)
    Dim fname, lname As String
    fname = datarow(0)
    lname = datarow(1)
    txtfirstname.Text = fname
    txtlastname.Text = lname

End Sub
End Class
Run Code Online (Sandbox Code Playgroud)

我试过更换

    Dim adapter As New OleDbDataAdapter
    adapter.SelectCommand = New OleDbCommand
    adapter.SelectCommand.Connection = connection
    adapter.SelectCommand.CommandText = "select * from user;"

    Dim dataset As New DataSet
    adapter.Fill(dataset, "User")
Run Code Online (Sandbox Code Playgroud)

    Dim adapter As New OleDbDataAdapter("select * from user;", connection)
    Dim dataset As New DataSet
    adapter.Fill(dataset, "User")
Run Code Online (Sandbox Code Playgroud)

而且我也试过了

    Dim adapter As New OleDbDataAdapter
    adapter.SelectCommand = New OleDbCommand("select * from user;", connection)
    Dim dataset As New DataSet
    adapter.Fill(dataset)
Run Code Online (Sandbox Code Playgroud)

但我得到了同样的例外 Syntax error in FROM clause

Fio*_*ala 6

用户是保留字.它应该这样写:

"select * from [user];"
Run Code Online (Sandbox Code Playgroud)

注意方括号.最好通过重命名表来完全避免保留字.