Domanda

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

Ho una tabella di Access che ha cinque campi:id, nome, posizione, telefono ed e-mail... ognuno è un campo di testo semplice con 50 caratteri, ad eccezione della posizione che è 255 e dell'id che è un campo a incremento automatico.Sto utilizzando VB.NET per leggere i dati da una tabella Excel, che viene inserita in una classe semplice utilizzata per compilare quella query.Faccio la stessa cosa con altre due tabelle, i cui dati vengono estratti da una tabella DB2 e da una tabella MySQL.Gli altri due funzionano, ma questo semplice ciclo INSERT continua a fallire, quindi non penso che sia la mia funzione "InsertNoExe" a gestire tutte le cose di OleDb.

Quindi, quella query, i titoli dei campi, ecc.sembra falso?Posso pubblicare altri frammenti di codice se qualcuno vuole vederlo.

MODIFICARE: Fisso.Non ero sicuro se l'immagine ampia contasse o meno come un bug di Stack Overflow, motivo per cui l'ho lasciata.

MODIFICA 2: Sono ottuso.Utilizzo un try...catch per vedere la query fasulla e non controllo nemmeno l'ex.message.Gah.

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.

MODIFICA 3: Grazie, Chris.

È stato utile?

Soluzione

Credo che "posizione" sia una parola riservata.

Tentativo...

INSERISCI in tblExcel (nome, [posizione], telefono, email) VALORI (...

Parole riservate

Altri suggerimenti

La spaziatura di "Sviluppatore Web/Assistente di rete" sembra un po' traballante, forse c'è un carattere nascosto lì dentro (ritorno a capo?)

Proverei a togliere la barra e vedere se l'inserto funziona, altrimenti proverei a togliere tutta la punteggiatura.Quindi aggiungilo di nuovo e forse sarai in grado di identificare il bug.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top