2 // Mono.Data.SqliteClient.SqliteParameter.cs
4 // Represents a parameter to a SqliteCommand, and optionally, its mapping to
7 // Author(s): Vladimir Vukicevic <vladimir@pobox.com>
8 // Everaldo Canuto <everaldo_canuto@yahoo.com.br>
10 // Copyright (C) 2002 Vladimir Vukicevic
12 // Permission is hereby granted, free of charge, to any person obtaining
13 // a copy of this software and associated documentation files (the
14 // "Software"), to deal in the Software without restriction, including
15 // without limitation the rights to use, copy, modify, merge, publish,
16 // distribute, sublicense, and/or sell copies of the Software, and to
17 // permit persons to whom the Software is furnished to do so, subject to
18 // the following conditions:
20 // The above copyright notice and this permission notice shall be
21 // included in all copies or substantial portions of the Software.
23 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
24 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
25 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
26 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
27 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
28 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
29 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
35 using System.Data.Common;
38 namespace Mono.Data.SqliteClient
40 public class SqliteParameter :
52 private DbType originalType;
54 private string source_column;
55 private ParameterDirection direction;
56 private DataRowVersion row_version;
57 private object param_value;
58 private byte precision;
61 private bool isNullable;
62 private bool sourceColumnNullMapping;
66 #region Constructors and destructors
68 public SqliteParameter ()
71 direction = ParameterDirection.Input;
75 public SqliteParameter (string name, DbType type)
82 public SqliteParameter (string name, object value)
87 direction = ParameterDirection.Input;
91 public SqliteParameter (string name, DbType type, int size) : this (name, type)
96 public SqliteParameter (string name, DbType type, int size, string src_column) : this (name ,type, size)
98 source_column = src_column;
108 public DbType DbType {
124 public ParameterDirection Direction {
125 get { return direction; }
126 set { direction = value; }
132 public bool IsNullable {
133 get { return isNullable; }
135 set { isNullable = value; }
142 public string ParameterName {
144 set { name = value; }
147 public byte Precision {
148 get { return precision; }
149 set { precision = value; }
153 get { return scale; }
154 set { scale = value; }
162 set { size = value; }
168 public string SourceColumn {
169 get { return source_column; }
170 set { source_column = value; }
174 public override bool SourceColumnNullMapping {
175 get { return sourceColumnNullMapping; }
176 set { sourceColumnNullMapping = value; }
183 public DataRowVersion SourceVersion {
184 get { return row_version; }
185 set { row_version = value; }
191 public object Value {
192 get { return param_value; }
193 set { param_value = value; }
200 public override void ResetDbType ()