**** Merged from MCS ****
[mono-project.git] / mcs / class / System.Data / System.Data.Common / SchemaInfo.cs
blobd20edfa516567675931bed15bae8d9eec0aa540b
1 //
2 // System.Data.Common.SchemaInfo.cs
3 //
4 // Author:
5 // Tim Coleman (tim@timcoleman.com)
6 //
7 // Copyright (C) Tim Coleman, 2002
8 //
11 // Copyright (C) 2004 Novell, Inc (http://www.novell.com)
13 // Permission is hereby granted, free of charge, to any person obtaining
14 // a copy of this software and associated documentation files (the
15 // "Software"), to deal in the Software without restriction, including
16 // without limitation the rights to use, copy, modify, merge, publish,
17 // distribute, sublicense, and/or sell copies of the Software, and to
18 // permit persons to whom the Software is furnished to do so, subject to
19 // the following conditions:
20 //
21 // The above copyright notice and this permission notice shall be
22 // included in all copies or substantial portions of the Software.
23 //
24 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
25 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
26 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
27 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
28 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
29 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
30 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
33 using System;
35 namespace System.Data.Common {
36 #if NET_2_0
37 // FIXME: This needs to be cleaned up to be compatible with both versions.
38 // Unfortunately, the SchemaInfo class we made is different from the MS
39 // version which is now public.
40 public class SchemaInfo
41 #else
42 internal class SchemaInfo
43 #endif
45 #region Fields
47 string columnName;
48 string tableName;
49 string dataTypeName;
50 object value;
51 bool allowDBNull;
52 bool isReadOnly;
53 int ordinal;
54 int size;
55 byte precision;
56 byte scale;
57 Type fieldType;
59 #endregion // Fields
61 #region Constructors
63 public SchemaInfo ()
67 #endregion // Constructors
69 #region Properties
71 public bool AllowDBNull {
72 get { return allowDBNull; }
73 set { allowDBNull = value; }
76 public string ColumnName {
77 get { return columnName; }
78 set { columnName = value; }
81 public int ColumnOrdinal {
82 get { return ordinal; }
83 set { ordinal = value; }
86 public int ColumnSize {
87 get { return size; }
88 set { size = value; }
91 public String DataTypeName {
92 get { return dataTypeName; }
93 set { dataTypeName = value; }
96 public Type FieldType {
97 get { return fieldType; }
98 set { fieldType = value; }
101 public byte NumericPrecision {
102 get { return precision; }
103 set { precision = value; }
106 public byte NumericScale {
107 get { return scale; }
108 set { scale = value; }
111 public string TableName {
112 get { return tableName; }
113 set { tableName = value; }
116 public bool IsReadOnly {
117 get { return isReadOnly; }
118 set { isReadOnly = value; }
121 #endregion // Properties