【问题标题】:Exception appeared on code that previously was ok以前正常的代码上出现异常
【发布时间】:2015-11-14 01:50:51
【问题描述】:

我的项目突然默认了一个到现在一直运行良好的函数的问题。这是一个在我的 sql server 上调用 存储过程 的函数:

ADODB.Command MyCommand = new ADODB.Command();
ADODB.Parameter TableNameParameter = MyCommand.CreateParameter("@TableName", ADODB.DataTypeEnum.adVarChar, ADODB.ParameterDirectionEnum.adParamInput, 50, TableName);
MyCommand.Parameters.Append(TableNameParameter);  

当它尝试附加第一个参数时,它会在上面的行中抛出异常:

无法将“System.__ComObject”类型的 COM 对象转换为类类型 'ADODB.InternalParameter'。表示 COM 的类型的实例 组件不能转换为不代表 COM 的类型 组件;

但是,只要底层 COM,它们就可以转换为接口 组件支持对接口的 IID 的 QueryInterface 调用。

我发现有人通过将引用从 2.8 更改为 2.7 来解决此问题的类似帖子但是我是 C# 新手,不知道如何执行此操作。有人可以帮忙,或者建议另一个修复。

【问题讨论】:

    标签: c# adodb


    【解决方案1】:

    如果修复只是将参考文件回滚到以前的版本,您可以在解决方案中通过单击解决方案资源管理器中的引用来执行此操作。

    从那里选择 ADODB 的引用并右键单击并删除 2.8 版本。

    然后右键单击引用并选择添加引用。

    然后您可以浏览该文件或在该窗口的 COM 列表中选择它。 这次一定要选择 2.7 版本。

    【讨论】:

    • 是的,修复了它!我之前没有更改任何参考。所以我不明白为什么这突然成为一个问题。感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 2018-03-13
    • 1970-01-01
    • 2021-09-20
    • 2017-12-20
    • 1970-01-01
    • 1970-01-01
    • 2013-08-29
    • 1970-01-01
    相关资源
    最近更新 更多