Что-то не так с этим запросом? - PullRequest
0 голосов
/ 06 сентября 2008
INSERT INTO tblExcel (ename, position, phone, email) VALUES ('Burton, Andrew', 'Web Developer / Network Assistant', '876-9259', 'aburton@wccs.edu')

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

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

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

РЕДАКТИРОВАТЬ 2: Я плотный. Я использую попытку ... ловить, чтобы увидеть поддельный запрос, и даже не проверяю 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: Спасибо, Крис.

Ответы [ 2 ]

5 голосов
/ 06 сентября 2008

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

Try ...

ВСТАВИТЬ в tblExcel (ename, [position], phone, email) VALUES (...

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

0 голосов
/ 06 сентября 2008

Интервал "Web Developer / Network Assistant" выглядит немного странно, может быть, там есть скрытый символ (возврат каретки?)

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

...