ammills01
ammills01

Reputation: 737

C# - Passing DataTable vs. SqlDataReader

I have created a method that can be called using a stored procedure name and list of SqlParameters, lets call it GetData(). GetData() then manages talking to the SQL Server and getting the data. What I then need to do is hand the data back to the caller for them to read, they have no need to manipulate it. What I am trying to figure out is if it is best to hand the caller back a DataTable or SqlDataReader?

Right now, I am thinking that going with a DataTable is the best route. My decision points on this are:

Does this seem like the best route to go for what I need?

Upvotes: 2

Views: 636

Answers (2)

ChrisLively
ChrisLively

Reputation: 88074

Yes, your idea is good.

Pass a datatable back, not the sqldatareader. Connections should only be maintained for the minimum amount of time necessary to transfer data to/from the database server.

Upvotes: 2

drdwilcox
drdwilcox

Reputation: 3951

Use a DataTable. The data bound controls are built to use that abstraction.

Upvotes: 0

Related Questions