MySQL DataCOnnection和ADO.NET

时间:2010-03-09 18:03:21

标签: .net mysql vb.net ado.net odbc

我想根据条件使用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。这可能吗?

2 个答案:

答案 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的方法。将您的选择案例放在方法中,无论您用于构建查询的条件如何,都将返回数据读取器。

确保在完成后关闭数据阅读器。