c#one mysn或sqlserver的conn对象

时间:2015-10-30 18:03:46

标签: c# mysql sql-server

我已经搜索了这个,但不确定要寻找什么。

我正在开发一个可以连接到SqlServer或MySQL的应用程序。我想用一个使用MySqlConnection或SQLConnection对象(以及MysqlReader和SqlReader对象)的进程函数来完成它。

有没有办法可以将连接对象设置为一个或另一个,具体取决于我使用的是什么?

它不需要在同一个执行中连接到两者。

现在我正在使用processQuery()和processQueryMysql(),但我想将它们合并为一个。

我也想避免这样做:

SqlConnection connsql;
MysqlConnection connmysql;
if (mysql) {
    connmysql = new mysqlconnection();
    connmysql.Open();
} else {
    connsql = new sqlconnection();
    open connsql();
}

我更愿意这样做:

eithersqltype conn

if (mysql)
    conn = new MysqlConnection()
else
    conn = new SqlConnection()

conn.Open();

然后正常使用conn(除非mysql函数调用的地方不同,显然)

有没有一种优雅的方式来做这样的事情,或者我的其他方式更好?

1 个答案:

答案 0 :(得分:2)

您可以使用IDbConnection接口

定义conn

IDbConnection conn;

阅读下面有关IDbConnection界面的文章: https://msdn.microsoft.com/en-us/library/system.data.idbconnection(v=vs.110).aspx