DataReader and DB Connection Closing

R

rockdale

I am using Microsoft.Practices.Enterprise.Library

When I use IDataReader I saw this line
"It is the responsibility of the caller to close the connection and
reader when finished."

I was wondering if I close the DataReader do I automatic ally close the
Connection? If not , how can I close the Connection outside the
ExecuteReader function?

I code snippet is like following:

------------------------------------------------
IDataReader oDr =null;

Database db = DatabaseFactory.CreateDatabase();

string sqlCommand = "my_stored_proc";
DbCommand dbCommand = db.GetStoredProcCommand(sqlCommand);


oDr = db.ExecuteReader(dbCommand);


/*DO SOMETHING WITH oDR*/


/*I close the DataReader here, do I need to close connection also?*/
oDr.Close();
 
E

Eliyahu Goldin

Yes, I would also recommend explicit disposing connection objects. It's a
got idea to put it in a finally block.
 
R

rockdale

Hi, Eliyahu

Thanks for the reply.
But how can I dispose the connection object as the db connection is
created and opened in the database factory

I know I must close the connection if I create and open this connection
but here as I am using the Data Access block, how do I explicitly close
the connection and dispose it? Or should I use dataset since "The
connection is closed by the ExecuteDataSet function" ? (comment from
Microsoft Enterprise Library)

Thanks again
-phelix

Eliyahu said:
Yes, I would also recommend explicit disposing connection objects. It's a
got idea to put it in a finally block.

--
Eliyahu Goldin,
Software Developer & Consultant
Microsoft MVP [ASP.NET]


rockdale said:
I am using Microsoft.Practices.Enterprise.Library

When I use IDataReader I saw this line
"It is the responsibility of the caller to close the connection and
reader when finished."

I was wondering if I close the DataReader do I automatic ally close the
Connection? If not , how can I close the Connection outside the
ExecuteReader function?

I code snippet is like following:

------------------------------------------------
IDataReader oDr =null;

Database db = DatabaseFactory.CreateDatabase();

string sqlCommand = "my_stored_proc";
DbCommand dbCommand = db.GetStoredProcCommand(sqlCommand);


oDr = db.ExecuteReader(dbCommand);


/*DO SOMETHING WITH oDR*/


/*I close the DataReader here, do I need to close connection also?*/
oDr.Close();
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top