这个查询有什么问题吗?

时间:2020-03-05 18:48:32  来源:igfitidea点击:
INSERT INTO tblExcel (ename, position, phone, email) VALUES ('Burton, Andrew', 'Web Developer / Network Assistant', '876-9259', '[email protected]')

我有一个Access表,其中包含五个字段:id,ename,position,phone和email ...每个字段都是50个字符的纯文本字段,保存的位置是255,而id是一个自动递增字段。我正在使用VB.NET从Excel表读取数据,该表被推送到用于填充该查询的简单类中。我对另外两个表做了同样的事情,它们的数据是从DB2表和MySQL表中提取出来的。其他两个工作正常,但是这个简单的INSERT循环一直失败,因此我认为处理所有OleDb内容的不是我的" InsertNoExe"函数。

因此,嗯,该查询,任何字段标题等看起来都是伪造的吗?如果有人想看,我可以发布其他代码。

编辑:固定。我不确定宽图像是否算作堆栈溢出错误,这就是为什么我留下它。

编辑2:我很稠密。我使用try ... catch查看虚假查询,甚至不检查ex.message。加。

INSERT INTO tblExcel (ename, position, phone, email) VALUES ('Burton, Andrew', 'Web Developer / Network Assistant', '876-9259', '[email protected]')

   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:谢谢克里斯。

解决方案

回答

" Web开发人员/网络助手"的间距看起来有些古怪,也许其中有一个隐藏的字符(回车吗?)

我会尝试删除斜线,并查看插入是否有效,否则请尝试删除所有标点符号。然后将其重新添加,也许我们将能够识别该错误。

回答

我相信"位置"是一个保留字。

尝试...

插入tblExcel(ename,[位置],电话,电子邮件)VALUES(...

保留字