#region Copyright
// Advanced.Data.Provider.AdpParameter
//
// Copyright (C) 2004 Astrein Engenharia de Manuteno S/A
// Copyright (C) 2004 Everaldo Canuto <everaldo_canuto@yahoo.com.br>
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#endregion
using System;
using System.Data;
namespace Advanced.Data.Provider{
/// <summary>
/// Represents a parameter to a <see cref='AdpCommand'/>, and optionally, its mapping to <see cref='DataSet'/> columns.
/// </summary>
public class AdpParameter : IDbDataParameter
{
#region Fields
internal IDbDataParameter dataParameter;
//private string parameterName;
#endregion
#region Private methods
/// <summary>
/// Sets the name of the <see cref='AdpParameter'/>.
/// </summary>
/// <param name="name">The name of the parameter to map.</param>
private void SetParameterName(string name)
{
dataParameter.ParameterName = name;
/*length = (caption.Length > length) ? caption.Length : length;
string name;
if (value.StartsWith(this._prefix))
{
name = value;
}
else if ((value.StartsWith("@")) && (this._prefix != "@"))
{
name = this._prefix + value.Substring(AdpProvider.DEFAULT_PREFIX_SYMBOL.Length);
}
else
{
name = this._prefix + value;
}
dataParameter.ParameterName = name;*/
}
#endregion
#region Public properties
/// <summary>
/// Gets or sets the <see cref='AdpType'/> of the parameter.
/// </summary>
public AdpType AdpType
{
get
{
return (Advanced.Data.Provider.AdpType) Enum.Parse(typeof(Advanced.Data.Provider.AdpType), Enum.GetName(typeof(System.Data.DbType),dataParameter.DbType));
}
set
{
dataParameter.DbType = (System.Data.DbType) Enum.Parse(typeof(System.Data.DbType), Enum.GetName(typeof(Advanced.Data.Provider.AdpType),value));
Type t = dataParameter.GetType();
string a = t.FullName;
}
}
/// <summary>
/// Gets or sets a value indicating whether the parameter is input-only, output-only, bidirectional,
/// or a stored procedure return value parameter.
/// </summary>
public System.Data.ParameterDirection Direction
{
get
{
return dataParameter.Direction;
}
set
{
dataParameter.Direction = value;
}
}
/// <summary>
/// Gets or sets the <see cref='DbType'/> of the parameter.
/// </summary>
public System.Data.DbType DbType
{
get
{
return dataParameter.DbType;
}
set
{
dataParameter.DbType = value;
}
}
/// <summary>
/// Gets or sets the maximum number of digits used to represent the Value property.
/// </summary>
public byte Precision
{
get
{
return dataParameter.Precision;
}
set
{
dataParameter.Precision = value;
}
}
/// <summary>
/// Gets or sets the number of decimal places to which Value is resolved.
/// </summary>
public byte Scale
{
get
{
return dataParameter.Scale;
}
set
{
dataParameter.Scale = value;
}
}
/// <summary>
/// Gets or sets the maximum size, in bytes, of the data within the column.
/// </summary>
public int Size
{
get
{
return dataParameter.Size;
}
set
{
dataParameter.Size = value;
}
}
/// <summary>
/// Gets or sets the value of the parameter.
/// </summary>
public object Value
{
get
{
return dataParameter.Value;
}
set
{
dataParameter.Value = value;
}
}
/// <summary>
/// Gets or sets a value indicating whether the parameter accepts null values.
/// </summary>
public bool IsNullable
{
get
{
return dataParameter.IsNullable;
}
}
/// <summary>
/// Gets or sets the <see cref='DataRowVersion'/> to use when loading Value.
/// </summary>
public System.Data.DataRowVersion SourceVersion
{
get
{
return dataParameter.SourceVersion;
}
set
{
dataParameter.SourceVersion = value;
}
}
/// <summary>
/// Gets or sets the name of the <see cref='AdpParameter'/>.
/// </summary>
public string ParameterName
{
get
{
return dataParameter.ParameterName;
}
set
{
SetParameterName(value);
}
}
/// <summary>
/// Gets or sets the name of the source column that is mapped to the DataSet and used for loading
/// or returning the Value.
/// </summary>
public string SourceColumn
{
get
{
return dataParameter.SourceColumn;
}
set
{
dataParameter.SourceColumn = value;
}
}
#endregion
}
}
|