2005-01-31 Zoltan Varga <vargaz@freemail.hu>
[mono.git] / mcs / class / System.Data / System.Data.Odbc / OdbcType.cs
index 6e7c3169bee51989f8d9668e3b3bd8e4a270e9e8..1eb6b412ca155bf3e9ed76930739a1337bb85027 100644 (file)
@@ -1,11 +1,11 @@
-//\r
-// System.Data.Odbc.OdbcType\r
-//\r
-// Author:\r
-//   Brian Ritchie\r
-//\r
-// Copyright (C) Brian Ritchie, 2002\r
-//\r
+//
+// System.Data.Odbc.OdbcType
+//
+// Author:
+//   Brian Ritchie
+//
+// Copyright (C) Brian Ritchie, 2002
+//
 
 //
 // Copyright (C) 2004 Novell, Inc (http://www.novell.com)
 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
-\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
-       {\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
-               UniqueIdentifier=-11,  // SQL_GUID\r
-               VarBinary=-3,   // SQL_VARBINARY\r
-               VarChar=12              // SQL_VARCHAR\r
-       }\r
-}\r
+
+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
+        }
+
+}
+