2 // System.Data.SqlClient.SqlParameter.cs
5 // Rodrigo Moya (rodrigo@ximian.com)
6 // Daniel Morgan (danmorg@sc.rr.com)
7 // Tim Coleman (tim@timcoleman.com)
9 // (C) Ximian, Inc. 2002
10 // Copyright (C) Tim Coleman, 2002
13 using System.ComponentModel;
15 using System.Data.Common;
16 using System.Runtime.InteropServices;
18 namespace System.Data.SqlClient {
20 /// Represents a parameter to a Command object, and optionally,
21 /// its mapping to DataSet columns; and is implemented by .NET
22 /// data providers that access data sources.
24 public sealed class SqlParameter : MarshalByRefObject, IDbDataParameter, IDataParameter, ICloneable
35 ParameterDirection direction;
39 DataRowVersion sourceVersion;
47 public SqlParameter ()
52 public SqlParameter (string parameterName, object value)
54 this.parmName = parameterName;
55 this.objValue = value;
59 public SqlParameter (string parameterName, SqlDbType dbType)
61 this.parmName = parameterName;
66 public SqlParameter (string parameterName, SqlDbType dbType, int size)
69 this.parmName = parameterName;
75 public SqlParameter(string parameterName, SqlDbType dbType, int size, string sourceColumn)
78 this.parmName = parameterName;
81 this.sourceColumn = sourceColumn;
85 public SqlParameter(string parameterName, SqlDbType dbType, int size, ParameterDirection direction, bool isNullable, byte precision, byte scale, string sourceColumn, DataRowVersion sourceVersion, object value)
88 this.parmName = parameterName;
91 this.sourceColumn = sourceColumn;
92 this.direction = direction;
93 this.isNullable = isNullable;
94 this.precision = precision;
96 this.sourceVersion = sourceVersion;
97 this.objValue = value;
100 #endregion // Constructors
105 public DbType DbType {
106 get { return theDbType; }
107 set { theDbType = value; }
111 public ParameterDirection Direction {
112 get { return direction; }
113 set { direction = value; }
117 public bool IsNullable {
118 get { return isNullable; }
123 get { return offset; }
124 set { offset = value; }
128 string IDataParameter.ParameterName {
129 get { return parmName; }
130 set { parmName = value; }
133 public string ParameterName {
134 get { return parmName; }
135 set { parmName = value; }
139 public string SourceColumn {
140 get { return sourceColumn; }
141 set { sourceColumn = value; }
145 public DataRowVersion SourceVersion {
146 get { return sourceVersion; }
147 set { sourceVersion = value; }
151 public SqlDbType SqlDbType {
152 get { return dbtype; }
153 set { dbtype = value; }
157 public object Value {
158 get { return objValue; }
159 set { objValue = value; }
163 public byte Precision {
164 get { return precision; }
165 set { precision = value; }
170 get { return scale; }
171 set { scale = value; }
177 set { size = value; }
180 #endregion // Properties
185 object ICloneable.Clone ()
187 throw new NotImplementedException ();
190 public override string ToString()
195 #endregion // Methods