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); }