Вместо DataReader, вы можете использовать SqlDataAdapter, где вы можете установить SqlConnection и SqlCommand для выполнения, а затем вызвать метод Fill SqlDataAdapter, передав DataTable, который хотите заполнить.
Поскольку ваш DataReader возвращает 2наборы результатов, вы должны использовать DataSet для этого.Для этой цели вы все равно будете использовать SqlDataAdapter, но вместо передачи DataTable в метод Fill вы передаете DataSet, и он создаст 2 DataTable внутри этого DataSet.