SqlParameter.cs 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. //
  2. // System.Data.SqlClient.SqlParameter.cs
  3. //
  4. // Author:
  5. // Rodrigo Moya ([email protected])
  6. // Daniel Morgan ([email protected])
  7. // Tim Coleman ([email protected])
  8. //
  9. // (C) Ximian, Inc. 2002
  10. // Copyright (C) Tim Coleman, 2002
  11. //
  12. using System;
  13. using System.ComponentModel;
  14. using System.Data;
  15. using System.Data.Common;
  16. using System.Runtime.InteropServices;
  17. namespace System.Data.SqlClient {
  18. /// <summary>
  19. /// Represents a parameter to a Command object, and optionally,
  20. /// its mapping to DataSet columns; and is implemented by .NET
  21. /// data providers that access data sources.
  22. /// </summary>
  23. public sealed class SqlParameter : MarshalByRefObject, IDbDataParameter, IDataParameter, ICloneable
  24. {
  25. #region Fields
  26. string parmName;
  27. SqlDbType dbtype;
  28. DbType theDbType;
  29. object objValue;
  30. int size;
  31. string sourceColumn;
  32. ParameterDirection direction;
  33. bool isNullable;
  34. byte precision;
  35. byte scale;
  36. DataRowVersion sourceVersion;
  37. int offset;
  38. #endregion // Fields
  39. #region Constructors
  40. [MonoTODO]
  41. public SqlParameter ()
  42. {
  43. }
  44. [MonoTODO]
  45. public SqlParameter (string parameterName, object value)
  46. {
  47. this.parmName = parameterName;
  48. this.objValue = value;
  49. }
  50. [MonoTODO]
  51. public SqlParameter (string parameterName, SqlDbType dbType)
  52. {
  53. this.parmName = parameterName;
  54. this.dbtype = dbType;
  55. }
  56. [MonoTODO]
  57. public SqlParameter (string parameterName, SqlDbType dbType, int size)
  58. {
  59. this.parmName = parameterName;
  60. this.dbtype = dbType;
  61. this.size = size;
  62. }
  63. [MonoTODO]
  64. public SqlParameter(string parameterName, SqlDbType dbType, int size, string sourceColumn)
  65. {
  66. this.parmName = parameterName;
  67. this.dbtype = dbType;
  68. this.size = size;
  69. this.sourceColumn = sourceColumn;
  70. }
  71. [MonoTODO]
  72. public SqlParameter(string parameterName, SqlDbType dbType, int size, ParameterDirection direction, bool isNullable, byte precision, byte scale, string sourceColumn, DataRowVersion sourceVersion, object value)
  73. {
  74. this.parmName = parameterName;
  75. this.dbtype = dbType;
  76. this.size = size;
  77. this.sourceColumn = sourceColumn;
  78. this.direction = direction;
  79. this.isNullable = isNullable;
  80. this.precision = precision;
  81. this.scale = scale;
  82. this.sourceVersion = sourceVersion;
  83. this.objValue = value;
  84. }
  85. #endregion // Constructors
  86. #region Properties
  87. [MonoTODO]
  88. public DbType DbType {
  89. get { return theDbType; }
  90. set { theDbType = value; }
  91. }
  92. [MonoTODO]
  93. public ParameterDirection Direction {
  94. get { return direction; }
  95. set { direction = value; }
  96. }
  97. [MonoTODO]
  98. public bool IsNullable {
  99. get { return isNullable; }
  100. }
  101. [MonoTODO]
  102. public int Offset {
  103. get { return offset; }
  104. set { offset = value; }
  105. }
  106. string IDataParameter.ParameterName {
  107. get { return parmName; }
  108. set { parmName = value; }
  109. }
  110. public string ParameterName {
  111. get { return parmName; }
  112. set { parmName = value; }
  113. }
  114. [MonoTODO]
  115. public string SourceColumn {
  116. get { return sourceColumn; }
  117. set { sourceColumn = value; }
  118. }
  119. [MonoTODO]
  120. public DataRowVersion SourceVersion {
  121. get { return sourceVersion; }
  122. set { sourceVersion = value; }
  123. }
  124. [MonoTODO]
  125. public SqlDbType SqlDbType {
  126. get { return dbtype; }
  127. set { dbtype = value; }
  128. }
  129. [MonoTODO]
  130. public object Value {
  131. get { return objValue; }
  132. set { objValue = value; }
  133. }
  134. [MonoTODO]
  135. public byte Precision {
  136. get { return precision; }
  137. set { precision = value; }
  138. }
  139. [MonoTODO]
  140. public byte Scale {
  141. get { return scale; }
  142. set { scale = value; }
  143. }
  144. [MonoTODO]
  145. public int Size {
  146. get { return size; }
  147. set { size = value; }
  148. }
  149. #endregion // Properties
  150. #region Methods
  151. [MonoTODO]
  152. object ICloneable.Clone ()
  153. {
  154. throw new NotImplementedException ();
  155. }
  156. public override string ToString()
  157. {
  158. return parmName;
  159. }
  160. #endregion // Methods
  161. }
  162. }