VB.net System.Data.OleDb.OleDbException: '语法错误(缺少运算符)



我正在使用Access 2013作为Visual Studio 2017中的数据库。

myConnToAccess = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|Database11.accdb")
    myConnToAccess.Open()
    ds = New DataSet
    tables = ds.Tables
    da = New OleDbDataAdapter("SELECT Typ záznamu from Typ", myConnToAccess)
    da.Fill(ds, "Typ")
    Dim view1 As New DataView(tables(0))
    With ComboBox1
        .DataSource = ds.Tables("Typ")
        .DisplayMember = "Typ záznamu"
        .ValueMember = "Typ záznamu"
        .SelectedIndex = 0
        .AutoCompleteMode = AutoCompleteMode.SuggestAppend
        .AutoCompleteSource = AutoCompleteSource.ListItems
    End With

i获得** system.data.oledb.oledb.eledbexception:'语法错误(缺少操作员(在查询表达式" typzáznamu"中。**

我有

Dim mySQLCommand As OleDbCommand
Dim mySQLStrg As String
Dim ds As DataSet
Dim da As OleDbDataAdapter
Dim tables As DataTableCollection
Dim myConnToAccess As OleDbConnection

在班级的开始...也是:

Imports System.Data.OleDb

我不知道该怎么办...有人可以帮我吗?

如果要查询列Typ záznamu,则由于单词之间的 space,因此需要将其放在方括号中。

da = New OleDbDataAdapter("SELECT [Typ záznamu] from Typ", myConnToAccess)

我使它起作用:

这一行:

da = New OleDbDataAdapter("SELECT Typ záznamu from Typ", myConnToAccess)

需要看起来像这样:

 da = New OleDbDataAdapter("SELECT [Typ záznamu] from Typ", myConnToAccess)

唯一的区别在于列名中。它需要处于侧面状态,或者您如何将其称为 []

相关内容

最新更新