Хорошо, эта проблема моя немного сложна в последние месяцы. РЕЗЮМЕ: Когда у меня только 5 столбцов в моей базе данных доступа, мой код успешно вставляет новую строку. Но когда я добавить еще один столбец в моей базе данных доступа (это будет 6 колонок сейчас) я сталкиваюсьОшибка синтаксиса INSERT INTO Statement (Command Builder)
Синтаксис INSERT ошибки INTO Заявление
Код:
Dim cb As New OleDb.OleDbCommandBuilder(SYSTEM_MainClient.dbda)
Dim dsNewRow As DataRow
dsNewRow = SYSTEM_MainClient.DataSet.Tables("Database").NewRow()
dsNewRow.Item("First_Name") = TXT_FirstName.Text
dsNewRow.Item("Last_Name") = TXT_Surname.Text
dsNewRow.Item("StudentID") = CInt(TXT_StudentID.Text)
dsNewRow.Item("Middle_Name") = TXT_MiddleName.Text
dsNewRow.Item("College") = TXT_College.Text
SYSTEM_MainClient.DataSet.Tables("Database").Rows.Add(dsNewRow)
SYSTEM_MainClient.dbda.Update(SYSTEM_MainClient.DataSet, "Database")
MsgBox("New Record added to the Database")
Мои cColumns базы данных:
"StudentID" (primary key),
"First_Name", "Last_Name", "Middle_Name"
"College"
РЕЗУЛЬТАТ: Это будет работать нормально, и в базу данных будет добавлена новая запись.
Потому что есть только 5 столбцов.
НО ЕСЛИ Я ПРЕВЫШАЕТ:
Код:
Dim cb As New OleDb.OleDbCommandBuilder(SYSTEM_MainClient.dbda)
Dim dsNewRow As DataRow
dsNewRow = SYSTEM_MainClient.DataSet.Tables("Database").NewRow()
dsNewRow.Item("First_Name") = TXT_FirstName.Text
dsNewRow.Item("Last_Name") = TXT_Surname.Text
dsNewRow.Item("StudentID") = CInt(TXT_StudentID.Text)
dsNewRow.Item("Middle_Name") = TXT_MiddleName.Text
dsNewRow.Item("College") = TXT_College.Text
dsNewRow.Item("Section") = TXT_Section.Text 'I added a section insert
SYSTEM_MainClient.DataSet.Tables("Database").Rows.Add(dsNewRow)
SYSTEM_MainClient.dbda.Update(SYSTEM_MainClient.DataSet, "Database")
MsgBox("New Record added to the Database")
Мои столбцы базы данных:
"StudentID" (primary key)
"First_Name", "Last_Name", "Middle_Name"
"College", "Section".
Это возвращает ошибку
Синтаксис Inse Ошибка RT INTO Statement
Как будто он может вставлять не более 5 значений столбца, я думаю, что проблема заключается в доступе не к самому VB.
Надеюсь, вы понимаете мою проблему, пожалуйста, помогите мне. Это моя проблема в течение нескольких месяцев, я искал форумы и искал ее, но не могу найти ответ.
Большое вам спасибо!
Возможно, проблема связана с 'командой обновления' 'dbda', вы можете ее показать? если проблема будет с ним, мы исправим его – jfun
Хорошо, я опубликую его. – BillyD
'section' является зарезервированным для доступа word.http: //support2.microsoft.com/default.aspx? Scid = kb; en-us; 286335. Попробуйте изменить его на что-то еще. – SearchAndResQ