mssql.h 991 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #pragma once
  2. #ifdef _WIN32
  3. #include "sol/sol.hpp"
  4. #include "imodule.h"
  5. #include "soci/soci.h"
  6. namespace module
  7. {
  8. /// <summary>
  9. /// 结果集
  10. /// </summary>
  11. class mssql
  12. {
  13. public:
  14. mssql(const std::string& connstring);
  15. ~mssql();
  16. /// <summary>
  17. /// 取数据
  18. /// </summary>
  19. std::string get_str(const std::string& name);
  20. std::string get_datetime(const std::string& name);
  21. int32 get_i32(const std::string& name);
  22. int64 get_i64(const std::string& name);
  23. double get_dob(const std::string& name);
  24. void query(const std::string& sql);
  25. /// <summary>
  26. /// 下一行
  27. /// </summary>
  28. bool next();
  29. int64 update(const std::string& sql);
  30. /// <summary>
  31. /// 注册
  32. /// </summary>
  33. /// <param name="lua"></param>
  34. static void regist(sol::state* lua);
  35. private:
  36. std::shared_ptr<soci::session> m_session;
  37. //std::shared_ptr<soci::statement> m_st;
  38. soci::rowset_iterator<soci::row> m_iter;
  39. soci::rowset<soci::row> m_rows;
  40. bool m_read = false;
  41. };
  42. }
  43. #endif