Вопрос

INSERT INTO tblExcel (ename, position, phone, email) VALUES ('Burton, Andrew', 'Web Developer / Network Assistant', '876-9259', 'aburton@wccs.edu')

У меня есть таблица Access с пятью полями:идентификатор, имя, позиция, телефон и адрес электронной почты... каждое из них представляет собой простое текстовое поле из 50 символов, за исключением позиции, которая равна 255, и идентификатора, который представляет собой поле с автоинкрементом.Я использую VB.NET для чтения данных из таблицы Excel, которые помещаются в простой класс, используемый для заполнения этого запроса.Я делаю то же самое с двумя другими таблицами, данные которых извлекаются из таблицы DB2 и таблицы MySQL.Два других работают, но этот простой цикл INSERT продолжает давать сбой, поэтому я не думаю, что моя функция «InsertNoExe» обрабатывает все данные OleDb.

Итак, хм, этот запрос, любые заголовки полей и т. д.выглядеть фальшиво?Я могу опубликовать другие фрагменты кода, если кто-то захочет их увидеть.

РЕДАКТИРОВАТЬ: Зафиксированный.Я не был уверен, считается ли широкое изображение ошибкой переполнения стека или нет, поэтому я оставил его.

РЕДАКТИРОВАТЬ 2: Я плотный.Я использую try...catch, чтобы увидеть фиктивный запрос, и даже не проверяю ex.messsage.Гах.

INSERT INTO tblExcel (ename, position, phone, email) VALUES ('Burton, Andrew', 'Web Developer / Network Assistant', '876-9259', 'aburton@wccs.edu')

   at System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(Int32 hr)
   at System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult)
   at System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult)
   at System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult)
   at System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
   at System.Data.OleDb.OleDbCommand.ExecuteNonQuery()
   at EmployeeList.EmployeeDatabase.ExeNonQuery(String sql) in C:\andy\html\code\vb\EmployeeList\EmployeeDatabase.vb:line 263

Syntax error in INSERT INTO statement.

РЕДАКТИРОВАТЬ 3: Спасибо, Крис.

Это было полезно?

Решение

Я считаю, что «позиция» — зарезервированное слово.

Пытаться...

ВСТАВИТЬ в tblExcel (имя, [должность], телефон, адрес электронной почты) ЗНАЧЕНИЯ (...

Зарезервированные слова

Другие советы

Расстояние между словами «Веб-разработчик/Сетевой помощник» выглядит немного шатко, возможно, там есть скрытый символ (возврат каретки?)

Я бы попробовал убрать косую черту и посмотреть, работает ли вставка, а если нет, то попробовать убрать все знаки препинания.Затем добавьте его обратно, и, возможно, вы сможете выявить ошибку.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top