cvsimport
[beagle.git] / beagled / Mono.Data.SqliteClient / SqliteParameter.cs
blob278eb06bca463ce57732564c28914c8f869db75e
1 //
2 // Mono.Data.SqliteClient.SqliteParameter.cs
3 //
4 // Represents a parameter to a SqliteCommand, and optionally, its mapping to
5 // DataSet columns.
6 //
7 // Author(s): Vladimir Vukicevic <vladimir@pobox.com>
8 // Everaldo Canuto <everaldo_canuto@yahoo.com.br>
9 //
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:
19 //
20 // The above copyright notice and this permission notice shall be
21 // included in all copies or substantial portions of the Software.
22 //
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.
32 using System;
33 using System.Data;
35 namespace Mono.Data.SqliteClient
37 public class SqliteParameter : IDbDataParameter
40 #region Fields
42 private string name;
43 private DbType type;
44 private string source_column;
45 private ParameterDirection direction;
46 private DataRowVersion row_version;
47 private object param_value;
48 private byte precision;
49 private byte scale;
50 private int size;
52 #endregion
54 #region Constructors and destructors
56 public SqliteParameter ()
58 type = DbType.String;
59 direction = ParameterDirection.Input;
62 public SqliteParameter (string name, DbType type)
64 this.name = name;
65 this.type = type;
68 public SqliteParameter (string name, object value)
70 this.name = name;
71 type = DbType.String;
72 param_value = value;
73 direction = ParameterDirection.Input;
76 public SqliteParameter (string name, DbType type, int size) : this (name, type)
78 this.size = size;
81 public SqliteParameter (string name, DbType type, int size, string src_column) : this (name ,type, size)
83 source_column = src_column;
86 #endregion
88 #region Properties
90 public DbType DbType {
91 get { return type; }
92 set { type = value; }
95 public ParameterDirection Direction {
96 get { return direction; }
97 set { direction = value; }
100 public bool IsNullable {
101 get { return true; }
104 public string ParameterName {
105 get { return name; }
106 set { name = value; }
109 public byte Precision {
110 get { return precision; }
111 set { precision = value; }
114 public byte Scale {
115 get { return scale; }
116 set { scale = value; }
119 public int Size {
120 get { return size; }
121 set { size = value; }
124 public string SourceColumn {
125 get { return source_column; }
126 set { source_column = value; }
129 public DataRowVersion SourceVersion {
130 get { return row_version; }
131 set { row_version = value; }
134 public object Value {
135 get { return param_value; }
136 set { param_value = value; }
139 #endregion