CDBCommon.h 2.1 KB

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