/// <summary> /// 添加oracle输出参数(只针对输出参数为Oracle的游标类(Cursor)参数时) /// </summary> /// <param name="cmd">DbCommand</param> /// <param name="paraName">输出的游标参数名称</param> /// <param name="oracleType">Oracle数据类型(Cursor)</param> public void AddOracleOutParameter(DbCommand cmd, string paraName, DataOracleType oracleType) { var oraPara = new OracleParameter(paraName, DataOracleTypeChange(oracleType)) { Direction = ParameterDirection.Output }; //指明为输出参数 cmd.Parameters.Add(oraPara); }
/// <summary> /// Datas the oracle type change. /// </summary> /// <param name="oracleType">Type of the oracle.</param> /// <returns></returns> private static OracleType DataOracleTypeChange(DataOracleType oracleType) { switch (oracleType) { case DataOracleType.BFile: return OracleType.BFile; case DataOracleType.Blob: return OracleType.Blob; case DataOracleType.Byte: return OracleType.Byte; case DataOracleType.Char: return OracleType.Char; case DataOracleType.Clob: return OracleType.Clob; case DataOracleType.Cursor: return OracleType.Cursor; case DataOracleType.DateTime: return OracleType.DateTime; case DataOracleType.Double: return OracleType.Double; case DataOracleType.Float: return OracleType.Float; case DataOracleType.Int16: return OracleType.Int16; case DataOracleType.Int32: return OracleType.Int32; case DataOracleType.IntervalDayToSecond: return OracleType.IntervalDayToSecond; case DataOracleType.IntervalYearToMonth: return OracleType.IntervalYearToMonth; case DataOracleType.LongRaw: return OracleType.LongRaw; case DataOracleType.LongVarChar: return OracleType.LongVarChar; case DataOracleType.NChar: return OracleType.NChar; case DataOracleType.NClob: return OracleType.NClob; case DataOracleType.Number: return OracleType.Number; case DataOracleType.NVarChar: return OracleType.NVarChar; case DataOracleType.Raw: return OracleType.Raw; case DataOracleType.RowId: return OracleType.RowId; case DataOracleType.SByte: return OracleType.SByte; case DataOracleType.Timestamp: return OracleType.Timestamp; case DataOracleType.TimestampLocal: return OracleType.TimestampLocal; case DataOracleType.TimestampWithTZ: return OracleType.TimestampWithTZ; case DataOracleType.UInt16: return OracleType.UInt16; case DataOracleType.UInt32: return OracleType.UInt32; default: return OracleType.VarChar; } }