2005-01-31 Zoltan Varga <vargaz@freemail.hu>
[mono.git] / mcs / class / System.Data / System.Data.Odbc / OdbcType.cs
index b4ed42aee729d116cfdf0bfc123c3ccdb4a81367..1eb6b412ca155bf3e9ed76930739a1337bb85027 100644 (file)
-//\r
-// System.Data.Odbc.OdbcType\r
-//\r
-// Author:\r
-//   Brian Ritchie\r
-//\r
-// Copyright (C) Brian Ritchie, 2002\r
-//\r
-\r
-using System.Data;\r
-using System.Data.Common;\r
-\r
-namespace System.Data.Odbc\r
-{ \r
-\r
-// From the ODBC documentation:\r
-//\r
-//     In ODBC 3.x, the identifiers for date, time, and timestamp SQL data types \r
-//  have changed from SQL_DATE, SQL_TIME, and SQL_TIMESTAMP (with instances of \r
-//  #define in the header file of 9, 10, and 11) to SQL_TYPE_DATE, SQL_TYPE_TIME,\r
-//  and SQL_TYPE_TIMESTAMP (with instances of #define in the header file of 91, 92, and 93), \r
-//  respectively.\r
-\r
-       // Unmapped SQL Types\r
-       //\r
-       //#define SQL_FLOAT                                                             6\r
-       //      could map to SQL_DOUBLE?\r
-       //#define SQL_INTERVAL                                                  10\r
-       //      could map to SmallDateTime?\r
-\r
-       public enum OdbcType : short\r
-       {\r
-               BigInt=-5,              // SQL_BIGINT\r
-               Binary=-2,              // SQL_BINARY\r
-               Bit=-7,                 // SQL_BIT\r
-               Char=1,                 // SQL_CHAR\r
-               Date=91,                // SQL_TYPE_DATE\r
-               DateTime=9,             // SQL_DATETIME\r
-               Decimal=3,              // SQL_DECIMAL\r
-               Double=8,               // SQL_DOUBLE\r
-               Image=-4,               // SQL_LONGVARBINARY\r
-               Int=4,                  // SQL_INTEGER\r
-               NChar=-95,              // SQL_UNICODE_CHAR\r
-               NText=-97,              // SQL_UNICODE_LONGVARCHAR\r
-               Numeric=2,              // SQL_NUMERIC\r
-               NVarChar=-96,   // SQL_UNICODE_VARCHAR\r
-               Real=7,                 // SQL_REAL\r
-               SmallDateTime=0,// ??????????????????????????\r
-               SmallInt=5,             // SQL_SMALLINT\r
-               Time=92,                // SQL_TYPE_TIME\r
-               Text=-1,                // SQL_LONGVARCHAR\r
-               Timestamp=93,   // SQL_TYPE_TIMESTAMP\r
-               TinyInt=-6,             // SQL_TINYINT\r
-               UniqueIndetifier=-11,  // SQL_GUID\r
-               VarBinary=-3,   // SQL_VARBINARY\r
-               VarChar=12              // SQL_VARCHAR\r
-       }\r
-}\r
+//
+// System.Data.Odbc.OdbcType
+//
+// Author:
+//   Brian Ritchie
+//
+// Copyright (C) Brian Ritchie, 2002
+//
+
+//
+// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System.Data;
+using System.Data.Common;
+
+namespace System.Data.Odbc
+{ 
+
+        public enum OdbcType
+        {
+                BigInt = 1,
+                Binary = 2,
+                Bit = 3,
+                Char = 4,
+                Date = 0x17,
+                DateTime = 5,
+                Decimal = 6,
+                Double = 8,
+                Image = 9,
+                Int = 10,
+                NChar = 11,
+                NText = 12,
+                Numeric = 7,
+                NVarChar = 13,
+                Real = 14,
+                SmallDateTime = 0x10,
+                SmallInt = 0x11,
+                Text = 0x12,
+                Time = 0x18,
+                Timestamp = 0x13,
+                TinyInt = 20,
+                UniqueIdentifier = 15,
+                VarBinary = 0x15,
+                VarChar = 0x16
+        }
+
+        // From the ODBC documentation:
+        //
+        //     In ODBC 3.x, the identifiers for date, time, and timestamp SQL data types 
+        //  have changed from SQL_DATE, SQL_TIME, and SQL_TIMESTAMP (with instances of 
+        //  #define in the header file of 9, 10, and 11) to SQL_TYPE_DATE, SQL_TYPE_TIME,
+        //  and SQL_TYPE_TIMESTAMP (with instances of #define in the header file of 91, 92, and 93), 
+        //  respectively.
+        
+       // Unmapped SQL Types
+       //
+       //#define SQL_FLOAT                                                             6
+       //      could map to SQL_DOUBLE?
+       //#define SQL_INTERVAL                                                  10
+       //      could map to SmallDateTime?
+
+        // This internal enum is used as mapping types into database drivers.
+        // This is essentially a map between public OdbcType to C types for 
+        // Odbc to call into driver.
+        internal enum OdbcCType         // Native Types
+        {
+                SignedBigInt=-25,      // SQL_C_SBIGINT
+                BigInt=-5,             // SQL_BIGINT
+               Binary=-2,              // SQL_BINARY
+               Bit=-7,                 // SQL_BIT
+               Char=1,                 // SQL_CHAR
+               Date=91,                // SQL_TYPE_DATE
+               DateTime=9,             // SQL_DATETIME
+               Decimal=3,              // SQL_DECIMAL
+               Double=8,               // SQL_DOUBLE
+               Image=-4,               // SQL_LONGVARBINARY
+               Int=4,                  // SQL_INTEGER
+               NChar=-95,              // SQL_UNICODE_CHAR
+               NText=-97,              // SQL_UNICODE_LONGVARCHAR
+               Numeric=2,              // SQL_NUMERIC
+               NVarChar=-96,   // SQL_UNICODE_VARCHAR
+               Real=7,                 // SQL_REAL
+               SmallDateTime=0,// ??????????????????????????
+               SmallInt=5,             // SQL_SMALLINT
+               Time=92,                // SQL_TYPE_TIME
+               Text=-1,                // SQL_LONGVARCHAR
+               Timestamp=93,   // SQL_TYPE_TIMESTAMP
+               TinyInt=-6,             // SQL_TINYINT
+               UniqueIdentifier=-11,  // SQL_GUID
+               VarBinary=-3,   // SQL_VARBINARY
+               VarChar=12              // SQL_VARCHAR
+        }
+
+}
+