这个查询有什么问题吗?

时间:2008-09-05 21:15:51

标签: sql vb.net excel ms-access oledb

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的东西。

那么,嗯,这个查询,任何字段标题等看起来都是假的吗?如果有人想看,我可以发布其他代码。

编辑:已修复。我不确定宽图像是否算作Stack Overflow错误,这就是我离开它的原因。

编辑2:我很密集。我使用try ... catch来查看伪查询,甚至不检查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:谢谢你,Chris。

2 个答案:

答案 0 :(得分:5)

我相信“位置”是一个保留词。

...试

INSERT到表格Excel(名称,[位置],电话,电子邮件)VALUES(...

Reserved Words

答案 1 :(得分:0)

“Web开发人员/网络助手”的间距看起来有点不稳定,也许有一个隐藏的字符(回车?)

我试着把斜线拿出来,看看插件是否有效,如果没有尝试取出所有标点符号。然后将其添加回来,也许您将能够识别错误。