/// <summary> /// Advances the reader to the next record. /// </summary> /// <returns>true if there are more rows; otherwise, false.</returns> /// <exception cref="AceQL.Client.Api.AceQLException">If any Exception occurs.</exception> public bool Read() { TestIsClosed(); if (DEBUG) { ConsoleEmul.WriteLine(); ConsoleEmul.WriteLine("currentRowNum: " + currentRowNum); ConsoleEmul.WriteLine("rowCount : " + rowsCount); } if (currentRowNum == rowsCount) { return(false); } try { currentRowNum++; rowParser.BuildRowNum(currentRowNum); valuesPerColIndex = rowParser.GetValuesPerColIndex(); colTypesPerColIndex = rowParser.GetTypesPerColIndex(); colIndexesPerColName = rowParser.GetColIndexesPerColName(); // Build first time the Dic of (colIndex, colName) from Dic (colName, colIndex) if (currentRowNum == 1) { foreach (KeyValuePair <String, int> theKeyPair in colIndexesPerColName) { colNamesPerColIndex.Add(theKeyPair.Value, theKeyPair.Key); } } } catch (Exception exception) { throw new AceQLException("Error when reading.", 0, exception, (HttpStatusCode)200); } return(true); }