StringBuilder result = new StringBuilder(returnMessage); while (sqlDataReader.NextResult()) { result.AppendFormat("\r\n{0}", GetFormattedReturn(sqlDataReader, returnType, out recordCount)); } returnMessage = result.ToString();However, there is no need to create a new instance of the StringBuilder if the reader has only a single result set. I did a very quick google search and didn't find a way to find out by some property if the reader has multiple results.