AdoDef.h 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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_PGSQL = 5,
  44. };
  45. // 字段属性结构体;
  46. struct CADOFieldInfo
  47. {
  48. TCHAR m_strName[30]; // 字段名称;
  49. short m_nType; // 字段数据库类型;cadoDataType
  50. long m_lSize; // 字段数据长度;
  51. long m_lDefinedSize; // 字段定义长度;
  52. long m_lAttributes; // 字段属性;
  53. short m_nOrdinalPosition; // 字段原始位置;
  54. BOOL m_bRequired; // 字段请求;
  55. BOOL m_bAllowZeroLength; // 字段能否允许为空;
  56. long m_lCollatingOrder; // 字段收集命令;
  57. };
  58. extern CString IntToStr(int nVal);
  59. extern CString LongToStr(long lVal);
  60. extern CString ULongToStr(unsigned long ulVal);
  61. extern CString DblToStr(double dblVal, int ndigits = 20);
  62. extern CString DblToStr(float fltVal);
  63. #endif