我想根据条件使用mysqlconnection,command和datareader或sqlconnection,command和datareader。我想对两种类型的连接使用相同的变量
例如:
Currently i have
dim _c as New mySqlConnection()
dim _cmd as New mysqlCommand()
dim _reader as New mysqlreader()
_reader = _cmd.executereader()
'loop through _reader
-----------------
如何根据select case改变前三个使用sql / mysql。这可能吗?
答案 0 :(得分:4)
是的,有可能。 ADO.NET有一个提供程序API。你必须做这样的事情:
string providerName;
if (true/*add your logic here*/)
providerName = "System.Data.SqlClient";
else
providerName = "MySql.Data.MySqlClient"
DbProviderFactory factory = DbProviderFactories.GetFactory(providerName);
DbConnection connection = factory.CreateConnection();
DbCommand command = factory.CreateCommand();
// ... and so on
答案 1 :(得分:0)
编写一个返回datareader的方法。将您的选择案例放在方法中,无论您用于构建查询的条件如何,都将返回数据读取器。
确保在完成后关闭数据阅读器。