MySQLResultSetMetaData.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #ifndef MYSQLRESULTSETMETADATA_H
  2. #define MYSQLRESULTSETMETADATA_H
  3. #include <memory>
  4. #include <string>
  5. namespace MySQL {
  6. class MySQLResultSet;
  7. class MySQLResultSetMetaDataImpl;
  8. class MySQLResultSetMetaData
  9. {
  10. public:
  11. MySQLResultSetMetaData();
  12. ~MySQLResultSetMetaData();
  13. public:
  14. std::string CatalogName(uint32_t column);
  15. uint32_t ColumnCount();
  16. uint32_t ColumnDisplaySize(uint32_t column);
  17. std::string ColumnLabel(uint32_t column);
  18. std::string ColumnName(uint32_t column);
  19. int ColumnType(uint32_t column);
  20. std::string ColumnTypeName(uint32_t column);
  21. uint32_t Precision(uint32_t column);
  22. uint32_t Scale(uint32_t column);
  23. std::string SchemaName(uint32_t column);
  24. std::string TableName(uint32_t column);
  25. bool AutoIncrement(uint32_t column);
  26. bool CaseSensitive(uint32_t column);
  27. bool Currency(uint32_t column);
  28. bool DefinitelyWritable(uint32_t column);
  29. int Nullable(uint32_t column);
  30. bool Numeric(uint32_t column);
  31. bool ReadOnly(uint32_t column);
  32. bool Searchable(uint32_t column);
  33. bool Signed(uint32_t column);
  34. bool Writable(uint32_t column);
  35. bool Zerofill(uint32_t column);
  36. private:
  37. MySQLResultSetMetaData(std::shared_ptr<MySQLResultSetMetaDataImpl> pMySQLResultSetMetaDataImpl);
  38. private:
  39. friend class MySQLResultSet;
  40. friend class MySQLResultSetMetaDataImpl;
  41. private:
  42. std::shared_ptr<MySQLResultSetMetaDataImpl> m_pMySQLResultSetMetaDataImpl;
  43. };
  44. } // namespace MySQL
  45. #endif // MYSQLRESULTSETMETADATA_H