在我的ASP.NET应用程序中,我使用经典的ADO 2.8将一些数据保存到Access数据库中.(或者Jet数据库,对于那些坚持Access只是前端的人来说.)所以我有一个包含一些数据的RecordSet,我想设置一些字段的值,但首先我需要知道字段类型.所以我使用Recordset.Type属性:
Dim fieldType = rs("MyField").Type
Run Code Online (Sandbox Code Playgroud)
这出乎意料地导致错误:MissingMethodException未被用户代码处理 - 错误:缺少方法'实例valuetype ADODB.DataTypeEnum [MyProjectName] ADODB.Field :: get_Type()'来自类'ADODB.InternalField'.
考虑到.NET本身已经创建了.NET/COM互操作程序集,任何想法为什么?
这是最奇怪的事情:当调试器停止并报告错误并将我带到我的代码中它发生的位置时,它具有可以将鼠标悬停在任何变量等上的强大功能,它将显示其价值 - 所以我将鼠标悬停在rs("MyField").Type零件上,并且,看,它显示正确的价值!
所以,如果它可以在调试时评估它,为什么它在运行时抛出错误???
在此先感谢您的帮助.