libodbchelper.cs 1.5 KB

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