使用E_FAIL(0x80004005)"获取" IErrorInfo.GetDescription失败查询"从打开"中选择*

时间:2011-02-09 05:24:42

标签: c# sql jet

我将我的C#应用​​程序连接到Jet 4.0引擎。当我运行查询“select * from open”时(我认为“open”是一个关键字,这就是为什么我得到一个异常,但是......)我得到这个异常:“IErrorInfo.GetDescription失败并带有E_FAIL(0x80004005) )”。我通常会得到更多人类可读的异常,告诉我我的查询有什么问题。这个看起来更像是Jet引擎中的一个bug。我刚刚在Microsoft Access 2002中测试运行相同的查询,它将“打开”视为完全有效的名称。我可以创建一个名为“open”的表,并用它做任何我想做的事。我只需要知道它是否是Jet引擎中的一个错误,所以我可以继续为人类可读的消息替换所需的消息并向用户显示,或者如果我的代码有问题。

2 个答案:

答案 0 :(得分:5)

我遇到了同样的问题,试着将保留字放在方括号中,即:

"select * from [open]"

答案 1 :(得分:0)

我在excel中使用下面的sql:

"select * from [open$]"

也许你可以尝试一下。