Exemple #1
0
        public virtual void CopyTo(DbParameter destination)
        {
            if (destination == null)
            {
                throw ExceptionHelper.ArgumentNull("destination");
            }

            DbParameterBase t = (DbParameterBase)destination;

            t._parameterName = _parameterName;
            t._size          = _size;
            t._offset        = _offset;
            t._isNullable    = _isNullable;
            t._sourceColumn  = _sourceColumn;
            t._direction     = _direction;

            if (_value is ICloneable)
            {
                t._value = ((ICloneable)_value).Clone();
            }
            else
            {
                t._value = this._value;
            }
        }
        private void RemoveIndex(int index)
        {
            DbParameterBase oldItem = (DbParameterBase)_list [index];

            oldItem.Parent = null;
            _list.RemoveAt(index);
        }
        protected virtual void Validate(int index, object value)
        {
            ValidateType(value);
            DbParameterBase parameter = (DbParameterBase)value;

            if (parameter.Parent != null)
            {
                if (parameter.Parent.Equals(this))
                {
                    if (IndexOf(parameter) != index)
                    {
                        throw ExceptionHelper.CollectionAlreadyContains(ItemType, "ParameterName", parameter.ParameterName, this);
                    }
                }
                else
                {
                    // FIXME :  The OleDbParameter with ParameterName 'MyParam2' is already contained by another OleDbParameterCollection.
                    throw new ArgumentException("");
                }
            }

            if (parameter.ParameterName == null || parameter.ParameterName == String.Empty)
            {
                int    newIndex = 1;
                string parameterName;

                do
                {
                    parameterName = "Parameter" + newIndex;
                    newIndex++;
                }while(IndexOf(parameterName) != -1);

                parameter.ParameterName = parameterName;
            }
        }
		protected DbParameterBase (DbParameterBase source)
		{
			if (source == null) 
				throw ExceptionHelper.ArgumentNull ("source");

			source.CopyTo (this);
			ICloneable cloneable = source._value as ICloneable;
			if (cloneable != null)
				_value = cloneable.Clone ();
		}
        private void Replace(int index, DbParameter value)
        {
            Validate(index, value);
            DbParameterBase oldItem = (DbParameterBase)this [index];

            oldItem.Parent = null;

            ((DbParameterBase)value).Parent = this;
            _list [index] = value;
        }
Exemple #6
0
        protected DbParameterBase(DbParameterBase source)
        {
            if (source == null)
            {
                throw ExceptionHelper.ArgumentNull("source");
            }

            source.CopyTo(this);
            ICloneable cloneable = source._value as ICloneable;

            if (cloneable != null)
            {
                _value = cloneable.Clone();
            }
        }