0

我正在做一个需要 msaccess 和 mysql 数据库的项目,为此我想创建自己的类来为 msaccess 和 mysql 进行连接,一切都很好,但我已经在 ParameterCollection 中找到了。

这是我的代码,在 ParameterCollection 中,set 块中没有错误,但是 get 块给出了错误

无法将类型“System.Data.OleDb.OleDbParameter”隐式转换为“MyOleDb.OleDbParameter”

public OleDbParameter this[int index]
{
    get
    {
        if (IsMySql())
            return ((MySql.Data.MySqlClient.MySqlParameterCollection)this)[index];
        else
            return ((System.Data.OleDb.OleDbParameterCollection)this)[index];
    }
    set
    {
        if (IsMySql())
            ((MySql.Data.MySqlClient.MySqlParameterCollection)this)[index] = value;

        else
            ((System.Data.OleDb.OleDbParameterCollection)this)[index] = value;
    }
}

有什么帮助吗?

更新:

OleDbParameter 类代码,而不是完整代码,仅覆盖在这里

public class OleDbCommand : System.Data.Common.DbCommand, ICloneable, IDbCommand, IDisposable
{
    static public implicit operator MySql.Data.MySqlClient.MySqlCommand(OleDbCommand c)
    {
        return (MySql.Data.MySqlClient.MySqlCommand)c;
    }
    static public implicit operator System.Data.OleDb.OleDbCommand(OleDbCommand c)
    {
        return (System.Data.OleDb.OleDbCommand)c;
    }
}
4

0 回答 0