Я создал следующий метод:
public System.Data.OleDb.OleDbDataReader GetReader(string sqlQuery)
{
System.Data.OleDb.OleDbConnection myConnection = new System.Data.OleDb.OleDbConnection();
LoadConnectionStrings();
myConnection.ConnectionString = ConnectionString;
myConnection.Open();
System.Data.OleDb.OleDbCommand myCommand = new System.Data.OleDb.OleDbCommand(sqlQuery, myConnection);
System.Data.OleDb.OleDbDataReader myReader = null;
myReader = myCommand.ExecuteReader();
return myReader;
}
Несколько тысяч строк кода полагаются на него, и я полагаю, что не особо задумывался, когда реализовал его ...
Во всяком случае ,.Если я получу считыватель таким способом, у меня не будет способа закрыть соединение, и если я закрою соединение до того, как считыватель вызовет метод read (), оно взорвется, когда перейдет к чтению, и скажет, что соединение с базой данных необходимобыть открытым.
Вопрос в том, как закрыть соединение с предыдущими телами кода?Или вообще все соединения, может быть ..
Из того, что я прочитал здесь , если вы специально не вызываете 'close ()', оно не закрывается, и если вы 'Если вы используете файл доступа 2003, это как бы оставляет вас в мире боли