CDBCommon.h 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. /**
  2. * @brief
  3. 数据库公共头文件
  4. * @version
  5. V 1.0.0
  6. * @author
  7. 王益俊
  8. * @date
  9. 创建时间: 2018-04-19\n
  10. * @note
  11. 2018-04-19 初次创建。\n
  12. * @warning
  13. * @bug
  14. */
  15. #ifndef DB_COMMON_H
  16. #define DB_COMMON_H
  17. #include <mysql.h>
  18. namespace YADB
  19. {
  20. //----------------------------------------------------------------------------
  21. // 数据库错误定义
  22. //----------------------------------------------------------------------------
  23. const int DB_ERR_NO_ERROR = 0;//无错误
  24. const int DB_ERR_NOT_CONNECT_DB = -1;//未连接数据库
  25. const int DB_ERR_EXCUTE_QUERY = -1;//执行查询失败
  26. const int DB_ERR_QUERY_RES_NOT_INITED = -1;//查询结果集还未初始化
  27. //----------------------------------------------------------------------------
  28. // 其它定义
  29. //----------------------------------------------------------------------------
  30. const int MAX_ASYNC_EXEC_FAILED_COUNT = 3;//最大异步执行失败次数
  31. const int MAX_ASYNC_QUEQUE_CAPACITY = 32 * 1024;//异步执行队列最大容量
  32. /**
  33. * @brief
  34. 数据库连接数枚举
  35. */
  36. enum _DB_CONNECT_COUNT_
  37. {
  38. DCC_MIN_COUNT = 1,//最小连接数
  39. DCC_MAX_COUNT = 60,//最大连接数
  40. };
  41. /**
  42. * @brief
  43. 数据库连接设置结构体
  44. */
  45. struct _DB_CONN_SETTING_
  46. {
  47. std::string Host;//数据库主机地址
  48. std::string User;//用户名
  49. std::string PWD;//密码
  50. std::string DBName;//数据库名
  51. std::string CharSet;//字符集
  52. std::string stmtSQL;//预处理SQL
  53. int TimeOut;//连接数据库超时(单位:秒)
  54. _DB_CONN_SETTING_()
  55. {
  56. TimeOut = 0;
  57. }
  58. };
  59. /**
  60. * @brief
  61. 数据库连接池设置结构体
  62. */
  63. struct _DB_POOL_SETTING_ : public _DB_CONN_SETTING_
  64. {
  65. int PoolSize;//连接池大小
  66. _DB_POOL_SETTING_()
  67. {
  68. PoolSize = 0;
  69. }
  70. };
  71. /**
  72. * @brief
  73. 异步执行结构体
  74. */
  75. struct _ASYNC_SQL_
  76. {
  77. int FailedCount;//执行失败次数
  78. std::string SQL; //SQ语句
  79. _ASYNC_SQL_()
  80. {
  81. FailedCount = 0;
  82. }
  83. ~_ASYNC_SQL_()
  84. {
  85. }
  86. };
  87. }
  88. #endif