AdoDef.h 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  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. //#pragma warning (disable: 4146)
  21. //#pragma warning (default: 4146)
  22. // CG : In order to use this code against a different version of ADO, the appropriate
  23. // ADO library needs to be used in the #import statement
  24. #import "C:\Program Files\Common Files\System\ADO\msado15.dll" rename_namespace("ADOCG") rename("EOF", "EndOfFile")
  25. using namespace ADOCG;
  26. //#import "C:\Program Files\Common Files\System\ADO\msado15.dll" no_namespace rename("EOF", "adoEOF")
  27. #include "icrsint.h"
  28. enum AdoDataSourceType{
  29. ADO_SQLSERVER = 1,
  30. ADO_ACCESS97 = 2,
  31. ADO_ACCESS2000 = 3, // 2000和2003一样;
  32. ADO_ACCESS2007 = 4,
  33. ADO_PGSQL = 5,
  34. };
  35. // 字段属性结构体;
  36. struct CADOFieldInfo
  37. {
  38. char m_strName[30]; // 字段名称;
  39. short m_nType; // 字段数据库类型;cadoDataType
  40. long m_lSize; // 字段数据长度;
  41. long m_lDefinedSize; // 字段定义长度;
  42. long m_lAttributes; // 字段属性;
  43. short m_nOrdinalPosition; // 字段原始位置;
  44. BOOL m_bRequired; // 字段请求;
  45. BOOL m_bAllowZeroLength; // 字段能否允许为空;
  46. long m_lCollatingOrder; // 字段收集命令;
  47. };
  48. // 对于以下各成员数组的大小,暂时统一使用MAX_PATH;
  49. // 若考虑数组大小等性能方面,另再设置数组合适大小;
  50. typedef struct __STADODATABASEINFO__
  51. {
  52. //TCHAR szProvider[MAX_PATH]; // 数据库引擎;
  53. TCHAR szDataSource[MAX_PATH]; // 数据库源地址;
  54. TCHAR szDatabaseTCPPort[MAX_PATH]; // 数据库TCP端口;
  55. TCHAR szDatabaseAccount[MAX_PATH]; // 数据库登录账户;
  56. TCHAR szDatabasePassword[MAX_PATH]; // 数据库账户密码;
  57. TCHAR szDatabaseName[MAX_PATH]; // 数据库名称; Initial Catalog
  58. TCHAR szDatabaseFile[MAX_PATH]; // 数据库文件; 用于Access之类的桌面数据库,不用于网络;
  59. __STADODATABASEINFO__()
  60. {
  61. memset(szDataSource,0,MAX_PATH);
  62. memset(szDatabaseTCPPort,0,MAX_PATH);
  63. memset(szDatabaseAccount,0,MAX_PATH);
  64. memset(szDatabasePassword,0,MAX_PATH);
  65. memset(szDatabaseName,0,MAX_PATH);
  66. memset(szDatabaseFile,0,MAX_PATH);
  67. }
  68. }STAdoDatabaseInfo,*pSTAdoDatabaseInfo;
  69. #endif