Modified SQLDescribeCol to work around bug in pinvoke...when doing a ref on a typed...
[mono.git] / mcs / class / System.Data / System.Data.Odbc / libodbchelper.cs
1 using System;\r
2 \r
3 namespace System.Data.Odbc\r
4 {\r
5         /// <summary>\r
6         /// Summary description for libodbchelper.\r
7         /// </summary>\r
8         internal class libodbchelper\r
9         {\r
10                 public static void DisplayError(string Msg, OdbcReturn Ret)
11                 {
12                         if ((Ret!=OdbcReturn.Success) && (Ret!=OdbcReturn.SuccessWithInfo)) \r
13                         {
14                                 Console.WriteLine("ERROR: {0}: <{1}>",Msg,Ret);
15                 
16                         }
17                 }\r
18 \r
19                 internal static Type ODBCTypeToCILType(OdbcType type)\r
20                 {\r
21                         switch (type)\r
22                         {\r
23                                 case OdbcType.BigInt: \r
24                                         return typeof(System.Int64);\r
25                                 case OdbcType.Image:\r
26                                 case OdbcType.VarBinary:\r
27                                 case OdbcType.Binary:\r
28                                         return typeof(byte[]);\r
29                                 case OdbcType.Bit:\r
30                                         return typeof(bool);\r
31                                 case OdbcType.NChar:\r
32                                 case OdbcType.Char:\r
33                                         return typeof(char);\r
34                                 case OdbcType.Time:\r
35                                 case OdbcType.Timestamp:\r
36                                 case OdbcType.DateTime:\r
37                                 case OdbcType.Date:\r
38                                 case OdbcType.SmallDateTime:\r
39                                         return typeof(DateTime);\r
40                                 case OdbcType.Decimal:\r
41                                         return typeof(Decimal);\r
42                                 case OdbcType.Numeric:\r
43                                 case OdbcType.Double:\r
44                                         return typeof(Double);\r
45                                 case OdbcType.Int:\r
46                                         return typeof(System.Int32);\r
47                                 case OdbcType.Text:\r
48                                 case OdbcType.NText:\r
49                                 case OdbcType.NVarChar:\r
50                                 case OdbcType.VarChar:\r
51                                         return typeof(string);\r
52                                 case OdbcType.Real:\r
53                                         return typeof(float);\r
54                                 case OdbcType.SmallInt:\r
55                                         return typeof(System.Int16);\r
56                                 case OdbcType.UniqueIndetifier:\r
57                                         return typeof(Guid);\r
58                         }\r
59                         throw new InvalidCastException();\r
60                 }\r
61 \r
62         }\r
63 }\r