Загрузив в DataSet результаты запроса к базе данных, нужно получить значения строк и столбцов (rows and columns). Т.е. что-то типа DataSet.Row[i].Column[q]. Модель доступа оказалась немного непривычной.

Для доступа к строкам (Row) и столбцам (Column) набора DataSet нужно использовать конструкцию DataSet.Table[index or string name].Rows[i][q]. Ниже приведен пример заполнения DataSet и доступа к его объектам:

Метод, возвращающий набор DateSet:

        private DataSet MyDataSet()
        {
            SqlConnection sqlconn = new SqlConnection(_conn);
            sqlconn.Open();
            ds1 = new SqlDataAdapter(_sqlQuery, _conn);
            DataSet ds = new DataSet();
            ds1.Fill(ds, "table");
            return ds;
        }

 

Доступ к данным DataSet:

DataSet ds = dbc.GetConnection;
            foreach (DataRow row in ds.Tables[0].Rows)
            {
                Console.WriteLine("{0}\t{1}\t{2}", row[0], row[1], row[2]);
            }