/// <summary> /// Populate the specified <see cref="DbParameter" /> with its type. /// </summary> /// <remarks> /// This implementation makes sure that GUIDs are passed as strings /// and ref cursors are added. /// </remarks> /// <param name="dbParameter"></param> /// <param name="type"></param> /// <returns></returns> protected override void PopulateType(DbParameter dbParameter, AdoDbType type) { OracleParameter oracleParameter = dbParameter as OracleParameter; if (oracleParameter == null) throw new ArgumentException(RM.Get_Error_OracleParameterExpected()); if (type == AdoDbType.Guid) { oracleParameter.DbType = DbType.String; oracleParameter.Size = 36; } else if (type == AdoDbType.Cursor) oracleParameter.OracleType = OracleType.Cursor; else if (type == AdoDbType.Text) oracleParameter.OracleType = OracleType.NClob; else base.PopulateType(dbParameter, type); }
/// <summary> /// Thin wrapper around /// <see cref="IAdoResourceProvider.AddParameter(DbCommand,String,object,AdoDbType,ParameterDirection)" /> /// that provides the connection to use for derived implementations. /// </summary> protected DbParameter AddParameter(DbCommand dbCommand, String name, object value, AdoDbType type, ParameterDirection direction) { return(_resourceProvider.AddParameter(dbCommand, name, value, type, direction)); }
/// <summary> /// Add a parameter initialised with the type and direction to the /// specified <see cref="DbCommand" />. /// </summary> public DbParameter AddParameter(DbCommand dbCommand, String name, AdoDbType type, ParameterDirection direction) { if (innerResourceProvider == null) throw new NotSupportedException(RM.Get_Error_ResourceProviderNotInitialised()); return innerResourceProvider.AddParameter(dbCommand, name, type, direction); }
protected virtual void PopulateType(DbParameter dbParameter, AdoDbType type) { switch (type) { case AdoDbType.AnsiString: dbParameter.DbType = DbType.AnsiString; break; case AdoDbType.Binary: dbParameter.DbType = DbType.Binary; break; case AdoDbType.Boolean: dbParameter.DbType = DbType.Boolean; break; case AdoDbType.Byte: dbParameter.DbType = DbType.Byte; break; case AdoDbType.Currency: dbParameter.DbType = DbType.Currency; break; case AdoDbType.Date: dbParameter.DbType = DbType.Date; break; case AdoDbType.DateTime: dbParameter.DbType = DbType.DateTime; break; case AdoDbType.Decimal: dbParameter.DbType = DbType.Decimal; break; case AdoDbType.Double: dbParameter.DbType = DbType.Double; break; case AdoDbType.Guid: dbParameter.DbType = DbType.Guid; break; case AdoDbType.Int16: dbParameter.DbType = DbType.Int16; break; case AdoDbType.Int32: dbParameter.DbType = DbType.Int32; break; case AdoDbType.Int64: dbParameter.DbType = DbType.Int64; break; case AdoDbType.Object: dbParameter.DbType = DbType.Object; break; case AdoDbType.SByte: dbParameter.DbType = DbType.SByte; break; case AdoDbType.Single: dbParameter.DbType = DbType.Single; break; case AdoDbType.String: dbParameter.DbType = DbType.String; break; case AdoDbType.Text : dbParameter.DbType = DbType.String; break; case AdoDbType.Time: dbParameter.DbType = DbType.Time; break; case AdoDbType.UInt16: dbParameter.DbType = DbType.UInt16; break; case AdoDbType.UInt32: dbParameter.DbType = DbType.UInt32; break; case AdoDbType.UInt64: dbParameter.DbType = DbType.UInt64; break; case AdoDbType.VarNumeric: dbParameter.DbType = DbType.VarNumeric; break; case AdoDbType.AnsiStringFixedLength: dbParameter.DbType = DbType.AnsiStringFixedLength; break; case AdoDbType.StringFixedLength: dbParameter.DbType = DbType.StringFixedLength; break; case AdoDbType.Xml: dbParameter.DbType = DbType.Xml; break; } }
/// <summary> /// Add a parameter initialised with the type and direction to the /// specified <see cref="DbCommand" />. /// </summary> /// <param name="dbCommand"></param> /// <param name="name"></param> /// <param name="type"></param> /// <param name="direction"></param> /// <returns></returns> public virtual DbParameter AddParameter(DbCommand dbCommand, String name, AdoDbType type, ParameterDirection direction) { return AddParameter(dbCommand, name, null, type, direction); }
/// <summary> /// Add a parameter initialised with the value, type and direction to /// the specified <see cref="DbCommand" />. /// </summary> /// <param name="dbCommand"></param> /// <param name="name"></param> /// <param name="value"></param> /// <param name="type"></param> /// <param name="direction"></param> /// <returns></returns> public virtual DbParameter AddParameter(DbCommand dbCommand, String name, Object value, AdoDbType type, ParameterDirection direction) { if (dbCommand == null) throw new ArgumentNullException("dbCommand"); if (String.IsNullOrEmpty(name)) throw new ArgumentNullException("name"); if (!SupportCursors && type == AdoDbType.Cursor) return null; DbParameter dbParameter = dbProviderFactory.CreateParameter(); dbParameter.ParameterName = name; dbParameter.Direction = direction; PopulateType(dbParameter, type); PopulateValue(dbParameter, value); dbCommand.Parameters.Add(dbParameter); return dbParameter; }
/// <summary> /// Add an input parameter initialised with the value and type to the /// specified <see cref="DbCommand" />. /// </summary> /// <param name="dbCommand"></param> /// <param name="name"></param> /// <param name="value"></param> /// <param name="type"></param> public virtual DbParameter AddParameter(DbCommand dbCommand, String name, Object value, AdoDbType type) { return AddParameter(dbCommand, name, value, type, ParameterDirection.Input); }
/// <summary> /// Thin wrapper around /// <see cref="IAdoResourceProvider.AddParameter(DbCommand,string,AdoDbType,ParameterDirection)" /> /// that provides the connection to use for derived implementations. /// </summary> protected DbParameter AddParameter(DbCommand dbCommand, string name, AdoDbType type, ParameterDirection direction) { return resourceProvider.AddParameter(dbCommand, name, type, direction); }
/// <summary> /// Thin wrapper around /// <see cref="IAdoResourceProvider.AddParameter(DbCommand,string,object,AdoDbType)" /> /// that provides the connection to use for derived implementations. /// </summary> protected DbParameter AddParameter(DbCommand dbCommand, string name, object value, AdoDbType type) { return resourceProvider.AddParameter(dbCommand, name, value, type); }
/// <summary> /// Add a parameter initialised with the value, type and direction to /// the specified <see cref="DbCommand" />. /// </summary> public DbParameter AddParameter(DbCommand dbCommand, String name, Object value, AdoDbType type, ParameterDirection direction) { if (innerResourceProvider == null) { throw new NotSupportedException(RM.Get_Error_ResourceProviderNotInitialised()); } return(innerResourceProvider.AddParameter(dbCommand, name, value, type, direction)); }
/// <summary> /// Thin wrapper around /// <see cref="IAdoResourceProvider.AddParameter(DbCommand,string,object,AdoDbType)" /> /// that provides the connection to use for derived implementations. /// </summary> protected DbParameter AddParameter(DbCommand dbCommand, string name, object value, AdoDbType type) { return(resourceProvider.AddParameter(dbCommand, name, value, type)); }
/// <summary> /// Populate the specified <see cref="DbParameter" /> with its type. /// </summary> /// <remarks> /// Derived classes can use this as an opportunity to replace the type /// with something more appropriate to the underlying provider. /// </remarks> /// <param name="dbParameter"></param> /// <param name="type"></param> /// <returns></returns> protected virtual void PopulateType(DbParameter dbParameter, AdoDbType type) { switch (type) { case AdoDbType.AnsiString: dbParameter.DbType = DbType.AnsiString; break; case AdoDbType.Binary: dbParameter.DbType = DbType.Binary; break; case AdoDbType.Boolean: dbParameter.DbType = DbType.Boolean; break; case AdoDbType.Byte: dbParameter.DbType = DbType.Byte; break; case AdoDbType.Currency: dbParameter.DbType = DbType.Currency; break; case AdoDbType.Date: dbParameter.DbType = DbType.Date; break; case AdoDbType.DateTime: dbParameter.DbType = DbType.DateTime; break; case AdoDbType.Decimal: dbParameter.DbType = DbType.Decimal; break; case AdoDbType.Double: dbParameter.DbType = DbType.Double; break; case AdoDbType.Guid: dbParameter.DbType = DbType.Guid; break; case AdoDbType.Int16: dbParameter.DbType = DbType.Int16; break; case AdoDbType.Int32: dbParameter.DbType = DbType.Int32; break; case AdoDbType.Int64: dbParameter.DbType = DbType.Int64; break; case AdoDbType.Object: dbParameter.DbType = DbType.Object; break; case AdoDbType.SByte: dbParameter.DbType = DbType.SByte; break; case AdoDbType.Single: dbParameter.DbType = DbType.Single; break; case AdoDbType.String: dbParameter.DbType = DbType.String; break; case AdoDbType.Time: dbParameter.DbType = DbType.Time; break; case AdoDbType.UInt16: dbParameter.DbType = DbType.UInt16; break; case AdoDbType.UInt32: dbParameter.DbType = DbType.UInt32; break; case AdoDbType.UInt64: dbParameter.DbType = DbType.UInt64; break; case AdoDbType.VarNumeric: dbParameter.DbType = DbType.VarNumeric; break; case AdoDbType.AnsiStringFixedLength: dbParameter.DbType = DbType.AnsiStringFixedLength; break; case AdoDbType.StringFixedLength: dbParameter.DbType = DbType.StringFixedLength; break; case AdoDbType.Xml: dbParameter.DbType = DbType.Xml; break; } }
/// <summary> /// Add a parameter initialised with the type and direction to the /// specified <see cref="DbCommand" />. /// </summary> /// <param name="dbCommand"></param> /// <param name="name"></param> /// <param name="type"></param> /// <param name="direction"></param> /// <returns></returns> public virtual DbParameter AddParameter(DbCommand dbCommand, string name, AdoDbType type, ParameterDirection direction) { return(AddParameter(dbCommand, name, null, type, direction)); }
/// <summary> /// Add a parameter initialised with the value, type and direction to /// the specified <see cref="DbCommand" />. /// </summary> /// <param name="dbCommand"></param> /// <param name="name"></param> /// <param name="value"></param> /// <param name="type"></param> /// <param name="direction"></param> /// <returns></returns> public virtual DbParameter AddParameter(DbCommand dbCommand, string name, object value, AdoDbType type, ParameterDirection direction) { if (!SupportCursors && type == AdoDbType.Cursor) { return(null); } DbParameter dbParameter = dbProviderFactory.CreateParameter(); dbParameter.ParameterName = name; dbParameter.Direction = direction; PopulateValue(dbParameter, value); PopulateType(dbParameter, type); dbCommand.Parameters.Add(dbParameter); return(dbParameter); }
/// <summary> /// Add an input parameter initialised with the value and type to the /// specified <see cref="DbCommand" />. /// </summary> /// <param name="dbCommand"></param> /// <param name="name"></param> /// <param name="value"></param> /// <param name="type"></param> public virtual DbParameter AddParameter(DbCommand dbCommand, string name, object value, AdoDbType type) { return(AddParameter(dbCommand, name, value, type, ParameterDirection.Input)); }
/// <summary> /// Add a parameter initialised with the value, type and direction to /// the specified <see cref="DbCommand" />. /// </summary> /// <param name="dbCommand"></param> /// <param name="name"></param> /// <param name="value"></param> /// <param name="type"></param> /// <param name="direction"></param> /// <returns></returns> public virtual DbParameter AddParameter(DbCommand dbCommand, String name, Object value, AdoDbType type, ParameterDirection direction) { if (dbCommand == null) { throw new ArgumentNullException("dbCommand"); } if (String.IsNullOrEmpty(name)) { throw new ArgumentNullException("name"); } if (!SupportCursors && type == AdoDbType.Cursor) { return(null); } DbParameter dbParameter = dbProviderFactory.CreateParameter(); dbParameter.ParameterName = name; dbParameter.Direction = direction; PopulateType(dbParameter, type); PopulateValue(dbParameter, value); dbCommand.Parameters.Add(dbParameter); return(dbParameter); }