private void SetReturnParameterValue(Result resultIn) { if (resultIn.IsData()) { foreach (UtlParameter parameter in this._command.Parameters) { if (parameter.Direction == ParameterDirection.ReturnValue) { RowSetNavigator navigator = resultIn.GetNavigator(); if (navigator.Next()) { object[] current = navigator.GetCurrent(); if (current.Length != 0) { SqlType sourceType = resultIn.MetaData.ColumnTypes[0]; SqlType utlType = SqlType.GetUtlType(parameter.UtlType); parameter.Value = this.GetColumnInType(current[0], sourceType, utlType); } } break; } } resultIn.GetNavigator().Reset(); } }
public int GetLobCount() { lock (this) { this._sysLobSession.sessionContext.PushDynamicArguments(new object[0]); this._sysLobSession.sessionContext.Pop(false); RowSetNavigator navigator = this._getLobCount.Execute(this._sysLobSession).GetNavigator(); if (!navigator.Next()) { navigator.Close(); return(0); } return(Convert.ToInt32(navigator.GetCurrent()[0])); } }
private long GetNewLobId() { Result result = this._getNextLobId.Execute(this._sysLobSession); if (result.IsError()) { return(0L); } RowSetNavigator navigator = result.GetNavigator(); if (!navigator.Next()) { navigator.Close(); return(0L); } return(Convert.ToInt64(navigator.GetCurrent()[0])); }
private object[] GetLobHeader(long lobId) { object[] args = new object[this._getLob.GetParametersMetaData().GetColumnCount()]; args[0] = lobId; this._sysLobSession.sessionContext.PushDynamicArguments(args); Result result = this._getLob.Execute(this._sysLobSession); this._sysLobSession.sessionContext.Pop(false); if (result.IsError()) { return(null); } RowSetNavigator navigator = result.GetNavigator(); if (!navigator.Next()) { navigator.Close(); return(null); } return(navigator.GetCurrent()); }