Files
MySQL/include/MySQLResultSet.h
2020-02-09 16:32:42 +01:00

92 lines
2.4 KiB
C++

#ifndef MYSQLRESULTSET_H
#define MYSQLRESULTSET_H
#include "MySQLResultSetMetaData.h"
#include <memory>
#include <string>
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<MySQLResultSetImpl> pMySQLResultSetImpl);
private:
friend class MySQLClient;
friend class MySQLClientImpl;
private:
std::shared_ptr<MySQLResultSetImpl> m_pMySQLResultSetImpl;
};
} // namespace MySQL
#endif // MYSQLRESULTSET_H