AdoDef.h 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. /*************************************************************
  2. /* Copyright (C), 2014-2020, lyfz. Co., Ltd.
  3. /* 文件名: AdoDef.h
  4. /* 作者: Jeff.w
  5. /* 创建日期: 2014-08-16
  6. /* 版本号: V1.0
  7. /* 描述: 核心层底,数据库ADO编程
  8. /* 其它:
  9. /* 主要类模块:
  10. /* 历史修改记录:
  11. /* 作者 时间 版本 描述
  12. /* Jeff.w 14/08/18 1.0 创建这个模块
  13. ***************************************************************/
  14. #ifndef __ADO_DEF_HEADER__
  15. #define __ADO_DEF_HEADER__
  16. #pragma once
  17. #include <afx.h>
  18. #include <afxdisp.h>
  19. #include <math.h>
  20. #include <string>
  21. using namespace std;
  22. #ifndef UNICODE
  23. typedef string TString;
  24. #else
  25. typedef wstring TString;
  26. #endif
  27. #pragma warning (disable: 4146) // 微软建议不要理会这个错误;
  28. // CG : In order to use this code against a different version of ADO, the appropriate ADO library needs to be used in the #import statement
  29. #ifdef USE_ADO_V282 // 使用2.82版本ado;
  30. #import ".\msado15.dll" rename_namespace("ADOCG") rename("EOF", "EndOfFile")
  31. #else
  32. #import "C:\Program Files\Common Files\System\ado\msado15.dll" rename_namespace("ADOCG") rename("EOF", "EndOfFile")
  33. #endif
  34. #pragma warning (default: 4146) // 微软建议不要理会这个错误;
  35. using namespace ADOCG;
  36. #include <icrsint.h> // 包含ADO的一些扩展及宏;
  37. //#define ChunkSize 100
  38. enum AdoDataSourceType{
  39. ADO_SQLSERVER = 1,
  40. ADO_ACCESS97 = 2,
  41. ADO_ACCESS2000 = 3, // 2000和2003一样;
  42. ADO_ACCESS2007 = 4,
  43. ADO_EXCEL2003 = 5,
  44. ADO_EXCEL2007 = 6,
  45. ADO_PGSQL = 7,
  46. };
  47. // 字段属性结构体;
  48. struct CADOFieldInfo
  49. {
  50. TCHAR m_strName[30]; // 字段名称;
  51. short m_nType; // 字段数据库类型;cadoDataType
  52. long m_lSize; // 字段数据长度;
  53. long m_lDefinedSize; // 字段定义长度;
  54. long m_lAttributes; // 字段属性;
  55. short m_nOrdinalPosition; // 字段原始位置;
  56. BOOL m_bRequired; // 字段请求;
  57. BOOL m_bAllowZeroLength; // 字段能否允许为空;
  58. long m_lCollatingOrder; // 字段收集命令;
  59. };
  60. extern CString IntToStr(int nVal);
  61. extern CString LongToStr(long lVal);
  62. extern CString ULongToStr(unsigned long ulVal);
  63. extern CString DblToStr(double dblVal, int ndigits = 20);
  64. extern CString DblToStr(float fltVal);
  65. #endif