Search code examples
c#.net.net-3.5datatablesqlcommand

Replacing a DataReader with a DataTable


I'm adapting some code that someone else wrote and need to return a DataTable for time's sake.

I have code like this:

using (SqlCommand command = new SqlCommand(query, conn))
{
      //add parameters and their values

      using (SqlDataReader dr = command.ExecuteReader())
      {
          return dr;
      }

But what's the best way to return a datatable?


Solution

  • Use the DataTable.Load method to fill your table with values from the SqlDataReader:

    using (SqlDataReader dr = command.ExecuteReader())
    {
        var tb = new DataTable();
        tb.Load(dr);
        return tb;
    }