Вместо того, чтобы возвращать SqlDataReader, вы можете изменить свой код так, чтобы он возвращал DataSet .
SqlConnection myConnection = new SqlConnection("Data Source=hermes;database=qcvalues; Integrated Security=SSPI;");
DataSet dst = new DataSet();
SqlDataAdapter dap = new SqlDataAdapter(InitializeQuery(), mConnection);
dap.Fill(dst, "DataSetName");
Одна из замечательных особенностей этого подхода заключается в том, что Fill открывает и закрывает соединение с базой данных для вас.