public int doMove(int iRelPosition) throws DBException
    {
        try   {
            if (m_iCurrentRecord == m_iRecordsAccessed)
            {   // Impossible to be at the record count, unless hasNext has moved to the next record
                m_iRecordsAccessed++;
                if (this.getDataSource() != null) // Always
                    return Constants.NORMAL_RETURN;   // This is already the current record
            }
            Object objData = m_tableRemote.doMove(iRelPosition, 1);
            if (objData instanceof Vector)
            {
                this.setDataSource(objData);

                m_iCurrentRecord++;
                m_iRecordsAccessed++;
                return Constants.NORMAL_RETURN;   // Normal return
            }
            else if (objData instanceof Number)
                return ((Number)objData).intValue();    // Usually EOF
            else
                return Constants.ERROR_RETURN;  // Never
        } catch (RemoteException ex) {
            throw new DBException(ex.getMessage());
        }
    }
public int doMove ( int iRelPosition ) throws DBException { try { if ( m_iCurrentRecord == m_iRecordsAccessed ) { m_iRecordsAccessed ++ ; if ( this . getDataSource ( ) != null ) return Constants . NORMAL_RETURN ; } Object objData = m_tableRemote . doMove ( iRelPosition , 1 ) ; if ( objData instanceof Vector ) { this . setDataSource ( objData ) ; m_iCurrentRecord ++ ; m_iRecordsAccessed ++ ; return Constants . NORMAL_RETURN ; } else if ( objData instanceof Number ) return ( ( Number ) objData ) . intValue ( ) ; else return Constants . ERROR_RETURN ; } catch ( RemoteException ex ) { throw new DBException ( ex . getMessage ( ) ) ; } }
Get the next record (return a null at EOF).
Note: Remember to set the data source before returning a NORMAL_RETURN.
@param iRelPosition The relative records to move.
@return A record status (NORMAL_RETURN means the move was successful).