c# - 查询 "IErrorInfo.GetDescription failed with E_FAIL(0x80004005)"时得到 "select * from open"

标签 c# sql jet

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

最佳答案

我遇到过同样的问题,请尝试将保留字括在方括号中,即:

"select * from [open]"

关于c# - 查询 "IErrorInfo.GetDescription failed with E_FAIL(0x80004005)"时得到 "select * from open",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4941614/

相关文章:

c# - 在 MVC(4) 中动态更改 css 的常见做法

c# - 在 ASP.NET Core 2.2 中获取客户端的 IP 地址

c# - 在 C# 中将 IList 转换为数组

sql - 用同一列中的先前值填充空值

ms-access-2013 - 删除 5 条记录但 RecordsAffected 属性为 0

java - 如何在 Eclipse Jet 中生成代码时抛出异常?

c# - 使用 CQRS/事件溯源时,事件是否应该按顺序存储以及如何存储

mysql - sql查询-如何根据时间避免 "virtually"重复记录

sql - 在SQL中使用格式将数字转换为varchar

Java MSAccess DSN 少