internal int LoadDataRowChapters(DataRow dataRow) { int datarowadded = 0; int rowLength = _chapterMap.Length; for (int i = 0; i < rowLength; ++i) { if (_chapterMap[i]) { object readerValue = _readerDataValues[i]; if ((null != readerValue) && !Convert.IsDBNull(readerValue)) // MDAC 70441 { IDataReader nestedReader = (IDataReader)readerValue; if (!nestedReader.IsClosed) { Debug.Assert(null != this.dataSet, "if chapters, then Fill(DataSet,...) not Fill(DataTable,...)"); object parentChapterValue; DataColumn parentChapterColumn; if (null == _indexMap) { parentChapterColumn = dataTable.Columns[i]; parentChapterValue = dataRow[parentChapterColumn]; } else { parentChapterColumn = dataTable.Columns[_indexMap[i]]; parentChapterValue = dataRow[parentChapterColumn]; } // correct on Fill, not FillFromReader string chapterTableName = tableMapping.SourceTable + this.fieldNames[i]; // MDAC 70908 datarowadded += adapter.FillFromReader(this.dataSet, chapterTableName, nestedReader, 0, 0, parentChapterColumn, parentChapterValue); nestedReader.Dispose(); } } } } return(datarowadded); }