**** Merged from MCS ****
[mono-project.git] / mcs / class / System.Data / System.Data.Odbc / OdbcType.cs
blob6e7c3169bee51989f8d9668e3b3bd8e4a270e9e8
1 //
2 // System.Data.Odbc.OdbcType
3 //
4 // Author:
5 // Brian Ritchie
6 //
7 // Copyright (C) Brian Ritchie, 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.Data;
34 using System.Data.Common;
36 namespace System.Data.Odbc
39 // From the ODBC documentation:
41 // In ODBC 3.x, the identifiers for date, time, and timestamp SQL data types
42 // have changed from SQL_DATE, SQL_TIME, and SQL_TIMESTAMP (with instances of
43 // #define in the header file of 9, 10, and 11) to SQL_TYPE_DATE, SQL_TYPE_TIME,
44 // and SQL_TYPE_TIMESTAMP (with instances of #define in the header file of 91, 92, and 93),
45 // respectively.
47 // Unmapped SQL Types
49 //#define SQL_FLOAT 6
50 // could map to SQL_DOUBLE?
51 //#define SQL_INTERVAL 10
52 // could map to SmallDateTime?
54 public enum OdbcType
56 BigInt=-5, // SQL_BIGINT
57 Binary=-2, // SQL_BINARY
58 Bit=-7, // SQL_BIT
59 Char=1, // SQL_CHAR
60 Date=91, // SQL_TYPE_DATE
61 DateTime=9, // SQL_DATETIME
62 Decimal=3, // SQL_DECIMAL
63 Double=8, // SQL_DOUBLE
64 Image=-4, // SQL_LONGVARBINARY
65 Int=4, // SQL_INTEGER
66 NChar=-95, // SQL_UNICODE_CHAR
67 NText=-97, // SQL_UNICODE_LONGVARCHAR
68 Numeric=2, // SQL_NUMERIC
69 NVarChar=-96, // SQL_UNICODE_VARCHAR
70 Real=7, // SQL_REAL
71 SmallDateTime=0,// ??????????????????????????
72 SmallInt=5, // SQL_SMALLINT
73 Time=92, // SQL_TYPE_TIME
74 Text=-1, // SQL_LONGVARCHAR
75 Timestamp=93, // SQL_TYPE_TIMESTAMP
76 TinyInt=-6, // SQL_TINYINT
77 UniqueIdentifier=-11, // SQL_GUID
78 VarBinary=-3, // SQL_VARBINARY
79 VarChar=12 // SQL_VARCHAR