views:

81

answers:

3

Should you always close a DataReader before closing the connection, or is it okay to just close the connection? By just closing the connection does that effectively close the reader?

(This is for c#.net 3.5)

Thanks!

A: 

Close the DataReader as well.

imo. if it implements IDisposable , or has a .close() method or a similar construct that the documentation states you should call when you're done with this instance - do it. Don't rely on something else to take care of it for you - unless the documentation explicitly states that it does. For a DataReader/DbConnection - the docs doesn't mention anything like this.

leeeroy
+1  A: 

From the Microsoft documentation (Retrieving Data Using a DataReader (ADO.NET)):

You should always call the Close method when you have finished using the DataReader object.

You should always close the reader if for nothing else that it makes your intent clear.

Thomas
A: 

I prefer to leverage the c# using statment which will call dispose() for you. Here is a decent explanation.

Using Statment

Gratzy