Я пытаюсь создать класс «Помощник», в котором вы просто передаете драйвер и параметры, а класс выполняет сборку соединения и строки соединения для вас.
Я использовал интерфейсы из System.Data, такие как IDataReader, IDbConnection.
Теперь после тестирования с MySQL код работает отлично, но как только я указываю и настраиваю его для SQLСервер (Microsoft) не возвращает обработанные строки.Я выполнил некоторую отладку, и информация с сервера SQL появилась в IDataReader, но, похоже, я не могу перебрать ее?
Мой текущий код:
Метод подключения в классе помощника
try
{
factory = System.Data.Common.DbProviderFactories.GetFactory(driver);
_con = factory.CreateConnection();
_con.ConnectionString = buildConnectionString.ToString();
_con.Open();
}
catch (System.Data.Common.DbException ex)
{
_con = null;
throw ex;
}
catch (Exception ex)
{
_con = null;
throw ex;
}
return _con;
В тот момент, когда я передаю свой драйвер как System.Data.SqlClient для SQL Server и MySql.Data.MySqlClient для MySQL.
System.Data.IDataReader reader = cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
while (reader.Read())
{
System.Data.DataRow row = table.NewRow();
// Insert info from Reader into the Row
table.Rows.Add(row);
}
reader.Close();
Я подозреваю, что это как-то связано с тем, как IDataReader пытается обрабатывать типы, но не может найти какую-либо документацию по этому вопросу, поскольку он отлично работает для MySQL, но не для SQL Server?Любая помощь?