using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Data.Common; using System.Data.OleDb; namespace Ant.Data { /// /// SQL命令参数类 /// public sealed class QueryParameter : MarshalByRefObject, IDataParameter, ICloneable { private DbType m_DbType; private ParameterDirection m_Direction; private bool m_IsNullable; private string m_ParameterName ; private int m_Size; private byte m_precision; private byte m_scale; private string m_SourceColumn; private DataRowVersion m_SourceVersion; private object m_Value; #region IDataParameter 成员 public DbType DbType { get { return m_DbType; } set { m_DbType = value; } } public ParameterDirection Direction { get { return m_Direction; } set { m_Direction = value; } } public bool IsNullable { get { return m_IsNullable; } set { m_IsNullable = value; } } public string ParameterName { get { return m_ParameterName; } set { m_ParameterName = value; } } public byte Precision { get { return m_precision; } set { m_precision = value; } } public byte Scale { get { return m_scale; } set { m_scale = value; } } public int Size { get { return m_Size; } set { m_Size = value; } } public string SourceColumn { get { return m_SourceColumn; } set { m_SourceColumn = value; } } public DataRowVersion SourceVersion { get { return m_SourceVersion; } set { m_SourceVersion = value; } } public object Value { get { return m_Value; } set { m_Value = value; } } public QueryParameter() { m_Value = null; m_Direction = ParameterDirection.Input; m_Size = 0; m_SourceVersion = DataRowVersion.Current; } public QueryParameter(string parameterName, object Value) : this() { m_ParameterName = parameterName; m_Value = Value; } public QueryParameter(string parameterName, object Value, DbType dbType):this(parameterName,Value) { m_DbType = dbType; } public QueryParameter(string parameterName, DbType dbType) : this() { m_ParameterName = parameterName; m_DbType = dbType; } public QueryParameter(string parameterName, DbType dbType, int size):this() { m_ParameterName = parameterName; m_DbType = dbType; m_Size = size; } public QueryParameter(string parameterName, DbType dbType, int size,string sourceColumn) : this() { m_ParameterName = parameterName; m_DbType = dbType; m_Size = size; m_SourceColumn = sourceColumn; } public QueryParameter(string parameterName, DbType dbType, int size,ParameterDirection direction, bool isNullable,byte precision,byte scale, string sourceColumn, DataRowVersion sourceVersion, object Value) : this() { m_ParameterName = parameterName; m_DbType = dbType; m_Size = size; m_Direction = direction; m_IsNullable = isNullable; m_precision = precision; m_scale = scale; m_SourceColumn = sourceColumn; m_SourceVersion = sourceVersion; m_Value = Value; } public override string ToString() { return m_ParameterName; } #endregion #region ICloneable 成员 public object Clone() { QueryParameter parameter1; parameter1 = new QueryParameter(m_ParameterName, m_DbType,m_Size, m_Direction, m_IsNullable,m_precision,m_scale, m_SourceColumn, m_SourceVersion, m_Value); return parameter1; } #endregion } }