public override short[] preExecute(int cursorNum, IDataStoreProviderBase connectionProvider, IGxDataStore ds)
        {
            base.preExecute(cursorNum, connectionProvider, ds);
            short[] parmHasValue = null;

            if (dynamicStmt)
            {
                Object[] dynStmt = parent.getDynamicStatement(cursorNum, connectionProvider.context, connectionProvider.getDynConstraints());
                if (dynStmt == null && parent is DataStoreHelperBase)
                {
                    dynStmt = ((DataStoreHelperBase)parent).getDynamicStatement(cursorNum, connectionProvider.getDynConstraints());
                }
                _stmt = (string)dynStmt[0];

                List <object> newParmBinds = new List <object>();
                parmHasValue = (short[])dynStmt[1];
                for (int i = 0; i < _parmBinds.Length; i++)
                {
                    if (parmHasValue[i] == 0)
                    {
                        newParmBinds.Add(_parmBinds[i]);
                    }
                }
                base.bindParms(newParmBinds.ToArray());
                GXLogging.Debug(log, "ForEachCursor.preExecute, DynamicStatement: " + _stmt);
                _gxDbCommand.CommandText = _stmt;
            }
            _gxDbCommand.DynamicStmt = dynamicStmt;
            _gxDbCommand.CursorDef   = _cursorDef;
            return(parmHasValue);
        }
 public virtual short[] preExecute(int cursorNum, IDataStoreProviderBase connectionProvider, IGxDataStore ds)
 {
     _status = 0;
     return(null);
 }