INSERT INTO tblExcel (ename, position, phone, email) VALUES ('Burton, Andrew', 'Web Developer / Network Assistant', '876-9259', '[email protected]')
У меня есть таблица Access с пятью полями: id, ename, position, phone и email ... каждое из них представляет собой простое текстовое поле с 50 символами, за исключением позиции 255 и id, который является полем автоинкремента. Я использую VB.NET для чтения данных из таблицы Excel, которая помещается в простой класс, используемый для заполнения этого запроса. Я делаю то же самое с двумя другими таблицами, данные которых извлекаются из таблицы DB2 и таблицы MySQL. Два других работают, но этот простой цикл INSERT продолжает давать сбой, поэтому я не думаю, что моя функция «InsertNoExe» обрабатывает все, что связано с OleDb.
Итак, этот запрос, какие-либо заголовки полей и т. д. Выглядят фальшивыми? Я могу опубликовать другие фрагменты кода, если кто-то захочет их увидеть.
Обновлено: Исправлено. Я не был уверен, считается ли широкое изображение ошибкой переполнения стека или нет, поэтому я оставил его.
Обновлено еще раз: Я тупой. Я использую try ... catch, чтобы увидеть поддельный запрос, и даже не проверяю ex.messsage. Ага.
INSERT INTO tblExcel (ename, position, phone, email) VALUES ('Burton, Andrew', 'Web Developer / Network Assistant', '876-9259', '[email protected]')
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 (имя, [должность], телефон, электронная почта) ЗНАЧЕНИЯ (...
Для справки в будущем вы можете использовать Ctrl + Shift + Ins для копирования текста из окна сообщения.