Pergunta

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

Eu tenho uma tabela do Access que possui cinco campos:id, ename, posição, telefone e e-mail... cada um é um campo de texto simples com 50 caracteres, exceto para posição que é 255 e id que é um campo de incremento automático.Estou usando um VB.NET para ler dados de uma tabela do Excel, que é inserida em uma classe simples usada para preencher essa consulta.Faço a mesma coisa com duas outras tabelas, cujos dados são extraídos de uma tabela DB2 e de uma tabela MySQL.Os outros dois funcionam, mas esse loop INSERT simples continua falhando, então não acho que seja minha função "InsertNoExe" que lida com todo o material do OleDb.

Então, hum, essa consulta, qualquer um dos títulos dos campos, etc.parece falso?Posso postar outros trechos de código se alguém quiser ver.

EDITAR: Fixo.Eu não tinha certeza se a imagem larga contava como um bug do Stack Overflow ou não, e foi por isso que a deixei.

EDITAR 2: Eu sou denso.Eu uso um try...catch para ver a consulta falsa e nem verifico a ex.messsage.Ah.

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.

EDITAR 3: Obrigado, Chris.

Foi útil?

Solução

Acredito que "posição" é uma palavra reservada.

Tentar...

INSERT em tblExcel (enome, [posição], telefone, email) VALUES (...

Palavras reservadas

Outras dicas

O espaçamento de "Desenvolvedor Web/Assistente de Rede" parece um pouco instável, talvez haja um caractere oculto ali (retorno de carro?)

Eu tentaria retirar a barra e ver se a inserção funciona, caso contrário, tentaria retirar toda a pontuação.Em seguida, adicione-o novamente e talvez você consiga identificar o bug.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top