Пример #1
0
        private int[][] GetBlockAddresses(long lobId, int offset, int limit)
        {
            object[] args = new object[this._getLobPart.GetParametersMetaData().GetColumnCount()];
            args[0] = lobId;
            args[1] = offset;
            args[2] = limit;
            this._sysLobSession.sessionContext.PushDynamicArguments(args);
            this._sysLobSession.sessionContext.Pop(false);
            RowSetNavigator navigator = this._getLobPart.Execute(this._sysLobSession).GetNavigator();
            int             size      = navigator.GetSize();

            int[][] numArray = new int[size][];
            for (int i = 0; i < size; i++)
            {
                navigator.Absolute(i);
                object[] current = navigator.GetCurrent();
                numArray[i] = new int[] { Convert.ToInt32(current[0]), Convert.ToInt32(current[1]), Convert.ToInt32(current[2]) };
            }
            navigator.Close();
            return(numArray);
        }