Pregunta

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

Tengo una tabla de Access que tiene cinco campos:ID, nombre, posición, teléfono y correo electrónico... cada uno es un campo de texto sin formato con 50 caracteres, salvo la posición que es 255 y la identificación, que es un campo de incremento automático.Estoy usando VB.NET para leer datos de una tabla de Excel, que se inserta en una clase simple que se usa para completar esa consulta.Hago lo mismo con otras dos tablas, cuyos datos se extraen de una tabla DB2 y de una tabla MySQL.Los otros dos funcionan, pero este simple bucle INSERT sigue fallando, así que no creo que sea mi función "InsertNoExe" la que maneja todas las cosas de OleDb.

Entonces, ¿esa consulta, cualquiera de los títulos de los campos, etc.?parece falso?Puedo publicar otros fragmentos de código si alguien quiere verlo.

EDITAR: Fijado.No estaba seguro de si la imagen ancha contaba como un error de Stack Overflow o no, por eso la dejé.

EDITAR 2: Soy tonto.Utilizo try...catch para ver la consulta falsa y ni siquiera reviso el mensaje ex.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: Gracias, Cris.

¿Fue útil?

Solución

Creo que "posición" es una palabra reservada.

Intentar...

INSERTAR en tblExcel (nombre, [posición], teléfono, correo electrónico) VALORES (...

Palabras reservadas

Otros consejos

El espaciado de "Desarrollador web/Asistente de red" parece un poco inestable, tal vez haya un carácter oculto allí (¿retorno de carro?)

Intentaría eliminar la barra y ver si el inserto funciona; si no, intentaría eliminar toda la puntuación.Luego agréguelo nuevamente y tal vez pueda identificar el error.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top