Синтаксическая ошибка (запятая) в выражении запроса, заголовок с запятыми

Я пытаюсь проверить, существует ли значение из label1 в столбце файла dbf с именем: «NALOG, C, 8». Заголовок в файле DBF я не могу изменить, потому что он представляет собой формат столбца и размер поля. Но при этом я получаю эту ошибку: «Синтаксическая ошибка (запятая) в выражении запроса «NALOG, C, 8 = @NAL»

Вот полный код:

Dim con As New OleDbConnection
    Dim cmd As New OleDbCommand

    Dim FilePath As String = "C:\"
    Dim DBF_File As String = "PROMGL"
    Dim ColName As String = "NALOG,C,8"
    'Dim SQLstr As String = "SELECT * FROM " & DBF_File
    con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & FilePath & _
    " ;Extended Properties=dBASE IV;User ID=Admin;Password="
    'cmd = New OleDbCommand("SELECT * FROM " & DBF_File)
    cmd = New OleDbCommand("SELECT * FROM PROMGL WHERE " & ColName & " = @NAL")


    cmd.Connection = con
    con.Open()
    cmd.Parameters.AddWithValue("@NAL", Label1.Text)
    Using reader As OleDbDataReader = cmd.ExecuteReader()
        If reader.HasRows Then
            con.Close()
            Label6.Text = "EXIST" & TextBox1.Text
            TextBox1.Text = ""
            TextBox1.Focus()

        Else
            Label6.Text = "DOESN'T EXIST"

        End If
    end using

Спасибо.


person Jovica    schedule 08.04.2014    source источник


Ответы (2)


Если у вас есть столбец с таким именем:

Dim ColName As String = "NALOG,C,8"

Тогда я бы тоже изменил это:

Dim ColName As String = "[NALOG,C,8]"
person Arion    schedule 08.04.2014
comment
Теперь у меня нет значения для одного или нескольких обязательных параметров, но я думаю, что это не имеет ничего общего с именем столбца. Спасибо - person Jovica; 08.04.2014

Используйте это вместо этого:

Dim ColName As String = "NALOG"
person Oleg    schedule 08.04.2014