Exemplo n.º 1
0
        public bool FindFirst()
        {
            if (iIndex == null)
            {
                iIndex = tTable.PrimaryIndex;
            }

            if (eStart == null)
            {
                nCurrent = iIndex.First();
            }
            else
            {
                ColumnType type = eStart.Arg.ColumnType;
                object     o    = eStart.Arg2.GetValue(type);

                nCurrent = iIndex.FindFirst(o, eStart.Type);
            }

            while (nCurrent != null)
            {
                oCurrentData = nCurrent.GetData();

                if (!Test(eEnd))
                {
                    break;
                }

                if (Test(eAnd))
                {
                    return(true);
                }

                nCurrent = iIndex.Next(nCurrent);
            }

            oCurrentData = oEmptyData;

            if (bOuterJoin)
            {
                return(true);
            }

            return(false);
        }