2 // System.Data.Odbc.OdbcParameter
5 // Brian Ritchie (brianlritchie@hotmail.com)
7 // Copyright (C) Brian Ritchie, 2002
12 using System.Data.Common;
14 namespace System.Data.Odbc
16 public sealed class OdbcParameter : MarshalByRefObject, IDbDataParameter,
17 IDataParameter, ICloneable
27 DataRowVersion sourceVersion;
29 ParameterDirection direction;
39 public OdbcParameter ()
47 sourceColumn = String.Empty;
50 public OdbcParameter (string name, object value)
57 public OdbcParameter (string name, OdbcType dataType)
64 public OdbcParameter (string name, OdbcType dataType, int size)
65 : this (name, dataType)
70 public OdbcParameter (string name, OdbcType dataType, int size, string
72 : this (name, dataType, size)
74 this.sourceColumn = srcColumn;
77 public OdbcParameter(string name, OdbcType dataType, int size,
78 ParameterDirection direction, bool isNullable, byte precision, byte scale,
79 string srcColumn, DataRowVersion srcVersion, object value)
80 : this (name, dataType, size, srcColumn)
82 this.direction = direction;
83 this.isNullable = isNullable;
84 this.precision = precision;
86 this.sourceVersion = srcVersion;
94 public DbType DbType {
95 get { return dbType; }
101 public ParameterDirection Direction {
102 get { return direction; }
103 set { direction = value; }
106 public bool IsNullable {
107 get { return isNullable; }
110 public OdbcType OdbcType {
111 get { return odbcType; }
117 public string ParameterName {
119 set { name = value; }
122 public byte Precision {
123 get { return precision; }
124 set { precision = value; }
128 get { return scale; }
129 set { scale = value; }
134 set { size = value; }
137 public string SourceColumn {
138 get { return sourceColumn; }
139 set { sourceColumn = value; }
142 public DataRowVersion SourceVersion {
143 get { return sourceVersion; }
144 set { sourceVersion = value; }
147 public object Value {
151 set { this.IntValue =(int) value; }
154 #endregion // Properties
156 #region Internal Properties
158 internal void Bind(int hstmt,int ParamNum)
160 if (OdbcType==OdbcType.Integer)
162 OdbcReturn ret=libodbc.SQLBindParam(hstmt, Convert.ToInt16(ParamNum), 4,
163 4, 0,0,ref IntValue, 0);
164 libodbc.DisplayError("SQLBindParam",ret);
167 else Console.WriteLine("Unknown Paramter Type");
171 #endregion // Internal Properties
176 object ICloneable.Clone ()
178 throw new NotImplementedException ();
181 public override string ToString ()
183 return ParameterName;