VB.net - у вас есть ошибка в вашем синтаксисе SQL;

0

У меня проблема, я хочу вводить данные в моей базе данных, но я получаю сообщение об ошибке (у вас есть ошибка в синтаксисе SQL, проверьте руководство, соответствующее версии сервера ypur MariaDB, для правильного синтаксиса для использования рядом с "unique, partno, коробки, шт, modul, p_lane) VALUES (1, 'T103', '16581-57020', 3,1 'в строке 1)

но после проверки синтаксиса, который я использовал соответственно

это мой код

 ElseIf ComboBox1.Text = "TAPPING PLAN TMC" Then
        Dim cmd As New MySqlCommand("insert into s_unpackingtmc(no, unique, partno, boxs, pcs, modul, p_lane) VALUES (@Column1, @Column2, @Column3, @Column4, @Column5, @Column6, @Column7)", conn)
        Try


            For i As Integer = 0 To (DataGridView1.Rows.Count - 2)

                no1 = DataGridView1.Rows(i).Cells(0).Value
                unique1 = DataGridView1.Rows(i).Cells(1).Value
                partno1 = DataGridView1.Rows(i).Cells(2).Value
                boxs1 = DataGridView1.Rows(i).Cells(3).Value
                pcs1 = DataGridView1.Rows(i).Cells(4).Value
                modul1 = DataGridView1.Rows(i).Cells(5).Value
                plane1 = DataGridView1.Rows(i).Cells(6).Value


                cmd.Parameters.AddWithValue("@Column1", no1)
                cmd.Parameters.AddWithValue("@Column2", unique1)
                cmd.Parameters.AddWithValue("@Column3", partno1)
                cmd.Parameters.AddWithValue("@Column4", boxs1)
                cmd.Parameters.AddWithValue("@Column5", pcs1)
                cmd.Parameters.AddWithValue("@Column6", modul1)
                cmd.Parameters.AddWithValue("@Column7", plane1)
                cmd.ExecuteNonQuery()
                cmd.Parameters.Clear()
            Next
            MsgBox("Data Berhasil Diupload", MsgBoxStyle.Information, "Information")
            Call tampildata3()

        Catch ex As Exception

            MsgBox(ex.Message, MsgBoxStyle.Information, "Information")
            cmd.Dispose()
            Call tampildata3()



        End Try
  • 0
    Возможно, потому что unique слово зарезервировано? Я полагаю, что символ цитирования идентификатора в MariaDB является ... no, `unique`, partno, ... поэтому я бы предложил попробовать ... no, `unique`, partno, ... и посмотреть, повезет ли вам.
  • 1
    @TylerRoper ок, спасибо, проблема в том, чтобы решить, я заменяю переменную уникальную на другую переменную
Теги:
visual-studio-2015

1 ответ

0

Согласно ключевым словам и ограничениям документации MariaDB, UNIQUE является зарезервированным ключевым словом для определения уникального ограничения таблицы:

Ключевое слово UNIQUE означает, что индекс не будет принимать повторяющиеся значения, за исключением NULL. Ошибка будет повышаться, если вы попытаетесь вставить повторяющиеся значения в индекс UNIQUE.

Для ключей UNIQUE, PRIMARY KEYs и FOREIGN KEYs вы можете указать имя ограничения, используя ключевое слово CONSTRAINT. Это имя будет использоваться в сообщениях об ошибках.

Вы можете использовать либо обратную или двойную кавычку в зависимости от каждого режима (стандартный или ANSI SQL-режим соответственно, см. Соответствующую проблему), либо переименовать его в другой идентификатор без ключевого слова:

Стандартный режим

insert into s_unpackingtmc(no, 'unique', partno, boxs, pcs, modul, p_lane) VALUES (@Column1, @Column2, @Column3, @Column4, @Column5, @Column6, @Column7)

Режим ANSI SQL

insert into s_unpackingtmc(no, "unique", partno, boxs, pcs, modul, p_lane) VALUES (@Column1, @Column2, @Column3, @Column4, @Column5, @Column6, @Column7)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню