Что-то не так с этим запросом?
Вопрос
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 (имя, [должность], телефон, адрес электронной почты) ЗНАЧЕНИЯ (...
Другие советы
Расстояние между словами «Веб-разработчик/Сетевой помощник» выглядит немного шатко, возможно, там есть скрытый символ (возврат каретки?)
Я бы попробовал убрать косую черту и посмотреть, работает ли вставка, а если нет, то попробовать убрать все знаки препинания.Затем добавьте его обратно, и, возможно, вы сможете выявить ошибку.