#ifndef MYSQLRESULTSET_H #define MYSQLRESULTSET_H #include "MySQLResultSetMetaData.h" #include #include namespace MySQL { class MySQLResultSetImpl; class MySQLResultSet { public: MySQLResultSet(); ~MySQLResultSet(); public: bool Absolute(int row); void AfterLast(); void BeforeFirst(); void CancelRowUpdates(); void ClearWarnings(); void Close(); uint32_t FindColumn(const std::string& columnLabel) const; bool First(); std::istream* Blob(uint32_t columnIndex) const; std::istream* Blob(const std::string& columnLabel) const; bool Boolean(uint32_t columnIndex) const; bool Boolean(const std::string& columnLabel) const; int Concurrency(); std::string CursorName(); long double Double(uint32_t columnIndex) const; long double Double(const std::string& columnLabel) const; int FetchDirection(); size_t FetchSize(); int Holdability(); int32_t Int(uint32_t columnIndex) const; int32_t Int(const std::string& columnLabel) const; uint32_t UInt(uint32_t columnIndex) const; uint32_t UInt(const std::string& columnLabel) const; int64_t Int64(uint32_t columnIndex) const; int64_t Int64(const std::string& columnLabel) const; uint64_t UInt64(uint32_t columnIndex) const; uint64_t UInt64(const std::string& columnLabel) const; MySQLResultSetMetaData MetaData() const; size_t Row() const; //RowID* RowId(uint32_t columnIndex); //RowID* RowId(const std::string & columnLabel); //const Statement* Statement() const; std::string String(uint32_t columnIndex) const; std::string String(const std::string& columnLabel) const; //enum_type Type() const; void Warnings(); void InsertRow(); bool IsAfterLast() const; bool IsBeforeFirst() const; bool IsClosed() const; bool IsFirst() const; bool IsLast() const; bool IsNull(uint32_t columnIndex) const; bool IsNull(const std::string& columnLabel) const; bool Last(); bool Next(); void MoveToCurrentRow(); void MoveToInsertRow(); bool Previous(); void RefreshRow(); bool Relative(int rows); bool RowDeleted(); bool RowInserted(); bool RowUpdated(); void FetchSize(size_t rows); size_t RowsCount() const; bool WasNull() const; private: MySQLResultSet(std::shared_ptr pMySQLResultSetImpl); private: friend class MySQLClient; friend class MySQLClientImpl; private: std::shared_ptr m_pMySQLResultSetImpl; }; } // namespace MySQL #endif // MYSQLRESULTSET_H