我已经搜索了这个,但不确定要寻找什么。
我正在开发一个可以连接到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函数调用的地方不同,显然)
有没有一种优雅的方式来做这样的事情,或者我的其他方式更好?
答案 0 :(得分:2)
您可以使用IDbConnection接口
定义connIDbConnection conn;
阅读下面有关IDbConnection界面的文章: https://msdn.microsoft.com/en-us/library/system.data.idbconnection(v=vs.110).aspx