当表有 42 个字段时,为啥 .NET 中的 MS Access adodb 在字段计数中返回 34?
Posted
技术标签:
【中文标题】当表有 42 个字段时,为啥 .NET 中的 MS Access adodb 在字段计数中返回 34?【英文标题】:Why MS Access adodb in .NET returns 34 in fieldcount when table has 42 fields?当表有 42 个字段时,为什么 .NET 中的 MS Access adodb 在字段计数中返回 34? 【发布时间】:2010-04-12 14:31:27 【问题描述】:当表有 42 个字段时,为什么 .NET 中的 MS Access adodb 在字段计数中返回 34? 我在我的 MS Access mdb 数据库的表中看到 42 个字段。但是 .NET 中的 ADODB 层只能看到 34 个字段。当我调用读取器类的方法 getOrdinal("FieldName") 时,会发生 Outofrange 异常。
是我在设置连接、许可证或其他任何东西时缺少的东西吗?
谢谢
【问题讨论】:
也许一些代码,看看你的访问表设计,将有助于找到原因。 因为 MS-Access 有问题,或者您有 where 子句,或者您从正确的表中选择,但从错误的数据库中选择。 查询是什么样的?你确定没有使用“select *”? @Quandary:访问没有问题。实际上,这里不涉及访问,仅涉及 Jet/ACE。 【参考方案1】:自从您编写代码后,您是否更改过表格?有时您必须重新链接 Access 中的表,否则它将看不到新列。
【讨论】:
找到了。谢谢你。原因是代码和数据库不匹配。 虽然通过 ODBC 链接到不同数据库的 Access 前端可能具有完全描述的症状(即,在您删除并重新创建链接之前,对源表的结构更改不会显示),前端“MS Access adodb in .NET”上的问题说明,所以这不是一个真正的相关点。 我看到了,我不知道 Access-ODBC 链接问题是如何导致的,但我认为它可能值得一试。至少它可能已经开始 OP 寻找正确的方向。 正如我所说,访问是错误的 ;-)) 不,Access 没有问题,但 ODBC 是旧的。以上是关于当表有 42 个字段时,为啥 .NET 中的 MS Access adodb 在字段计数中返回 34?的主要内容,如果未能解决你的问题,请参考以下文章