QueryParameter.cs 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Data;
  4. using System.Linq;
  5. using System.Text;
  6. namespace Ant.ORM
  7. {
  8. /// <summary>
  9. /// SQL命令参数类
  10. /// </summary>
  11. public sealed class QueryParameter : MarshalByRefObject, IDataParameter, ICloneable
  12. {
  13. private DbType m_DbType;
  14. private ParameterDirection m_Direction;
  15. private bool m_IsNullable;
  16. private string m_ParameterName;
  17. private int m_Size;
  18. private byte m_precision;
  19. private byte m_scale;
  20. private string m_SourceColumn;
  21. private DataRowVersion m_SourceVersion;
  22. private object m_Value;
  23. #region IDataParameter 成员
  24. public DbType DbType
  25. {
  26. get
  27. {
  28. return m_DbType;
  29. }
  30. set
  31. {
  32. m_DbType = value;
  33. }
  34. }
  35. public ParameterDirection Direction
  36. {
  37. get
  38. {
  39. return m_Direction;
  40. }
  41. set
  42. {
  43. m_Direction = value;
  44. }
  45. }
  46. public bool IsNullable
  47. {
  48. get { return m_IsNullable; }
  49. set { m_IsNullable = value; }
  50. }
  51. public string ParameterName
  52. {
  53. get
  54. {
  55. return m_ParameterName;
  56. }
  57. set
  58. {
  59. m_ParameterName = value;
  60. }
  61. }
  62. public byte Precision
  63. {
  64. get { return m_precision; }
  65. set { m_precision = value; }
  66. }
  67. public byte Scale
  68. {
  69. get { return m_scale; }
  70. set { m_scale = value; }
  71. }
  72. public int Size
  73. {
  74. get { return m_Size; }
  75. set { m_Size = value; }
  76. }
  77. public string SourceColumn
  78. {
  79. get
  80. {
  81. return m_SourceColumn;
  82. }
  83. set
  84. {
  85. m_SourceColumn = value;
  86. }
  87. }
  88. public DataRowVersion SourceVersion
  89. {
  90. get
  91. {
  92. return m_SourceVersion;
  93. }
  94. set
  95. {
  96. m_SourceVersion = value;
  97. }
  98. }
  99. public object Value
  100. {
  101. get
  102. {
  103. return m_Value;
  104. }
  105. set
  106. {
  107. m_Value = value;
  108. }
  109. }
  110. public QueryParameter()
  111. {
  112. m_Value = null;
  113. m_Direction = ParameterDirection.Input;
  114. m_Size = 0;
  115. m_SourceVersion = DataRowVersion.Current;
  116. }
  117. public QueryParameter(string parameterName, object Value)
  118. : this()
  119. {
  120. m_ParameterName = parameterName;
  121. m_Value = Value;
  122. }
  123. public QueryParameter(string parameterName, object Value, DbType dbType) : this(parameterName, Value)
  124. {
  125. m_DbType = dbType;
  126. }
  127. public QueryParameter(string parameterName, DbType dbType)
  128. : this()
  129. {
  130. m_ParameterName = parameterName;
  131. m_DbType = dbType;
  132. }
  133. public QueryParameter(string parameterName, DbType dbType, int size) : this()
  134. {
  135. m_ParameterName = parameterName;
  136. m_DbType = dbType;
  137. m_Size = size;
  138. }
  139. public QueryParameter(string parameterName, DbType dbType, int size, string sourceColumn)
  140. : this()
  141. {
  142. m_ParameterName = parameterName;
  143. m_DbType = dbType;
  144. m_Size = size;
  145. m_SourceColumn = sourceColumn;
  146. }
  147. public QueryParameter(string parameterName, DbType dbType, int size, ParameterDirection direction, bool isNullable, byte precision, byte scale, string sourceColumn, DataRowVersion sourceVersion, object Value)
  148. : this()
  149. {
  150. m_ParameterName = parameterName;
  151. m_DbType = dbType;
  152. m_Size = size;
  153. m_Direction = direction;
  154. m_IsNullable = isNullable;
  155. m_precision = precision;
  156. m_scale = scale;
  157. m_SourceColumn = sourceColumn;
  158. m_SourceVersion = sourceVersion;
  159. m_Value = Value;
  160. }
  161. public override string ToString()
  162. {
  163. return m_ParameterName;
  164. }
  165. #endregion
  166. #region ICloneable 成员
  167. public object Clone()
  168. {
  169. QueryParameter parameter1;
  170. parameter1 = new QueryParameter(m_ParameterName, m_DbType, m_Size, m_Direction, m_IsNullable, m_precision, m_scale, m_SourceColumn, m_SourceVersion, m_Value);
  171. return parameter1;
  172. }
  173. #endregion
  174. }
  175. }