2023-05-18 18:17:19 +02:00
|
|
|
|
#pragma once
|
|
|
|
|
|
2023-05-28 13:42:36 +02:00
|
|
|
|
#include "global.h"
|
|
|
|
|
|
2023-05-18 18:17:19 +02:00
|
|
|
|
#include "SqlResult.h"
|
|
|
|
|
|
|
|
|
|
namespace AsyncPg {
|
|
|
|
|
|
2023-05-28 13:42:36 +02:00
|
|
|
|
class ASYNCPGLIB SqlField;
|
2023-05-18 18:17:19 +02:00
|
|
|
|
|
|
|
|
|
/// Строка результата Sql запроса
|
|
|
|
|
class SqlRecord
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
/// Конструктор класса
|
|
|
|
|
/// @param result Результата Sql запроса
|
|
|
|
|
/// @param row Номер строки результата Sql запроса
|
|
|
|
|
SqlRecord(const SqlResult &result, int row);
|
|
|
|
|
|
|
|
|
|
/// Оператор сравнения на неравенство
|
|
|
|
|
/// @param other Строка результата Sql запроса
|
|
|
|
|
/// @return Результат сравнения
|
|
|
|
|
bool operator!=(const SqlRecord &other) const;
|
|
|
|
|
|
|
|
|
|
/// Оператор инкрементирования
|
|
|
|
|
/// @return Результат инкрементирования
|
|
|
|
|
SqlRecord &operator++();
|
|
|
|
|
|
2023-12-01 07:06:13 +01:00
|
|
|
|
/// Оператор разыменования
|
|
|
|
|
/// @return Результат разыменования
|
2023-05-18 18:17:19 +02:00
|
|
|
|
SqlRecord operator*() const;
|
|
|
|
|
|
|
|
|
|
/// Возвращает количество строк в результате Sql запроса
|
|
|
|
|
/// @return Количество строк
|
|
|
|
|
int rows() const;
|
|
|
|
|
|
|
|
|
|
/// Возвращает количество колонок в строке результата Sql запроса
|
|
|
|
|
/// @return Количество колонок в строке результата Sql запроса
|
|
|
|
|
int columns() const;
|
|
|
|
|
|
|
|
|
|
/// Возвращает номер строки результата Sql запроса
|
|
|
|
|
/// @return Номер строки результата Sql запроса
|
|
|
|
|
int row() const;
|
|
|
|
|
|
|
|
|
|
/// Возвращает результат Sql запроса
|
|
|
|
|
/// @return Результата Sql запроса
|
|
|
|
|
const SqlResult &result() const;
|
|
|
|
|
|
2023-06-12 11:45:01 +02:00
|
|
|
|
/// Возвращает указанное поле строки результата Sql запроса
|
|
|
|
|
/// @param column Номер колонки
|
|
|
|
|
/// @return Поле строки результата Sql запроса
|
|
|
|
|
SqlField at(int column) const;
|
|
|
|
|
|
|
|
|
|
/// Возвращает указанное поле строки результата Sql запроса
|
|
|
|
|
/// @param column Наименование поля
|
|
|
|
|
/// @return Поле строки результата Sql запроса
|
|
|
|
|
SqlField at(std::string_view fieldName) const;
|
|
|
|
|
|
2023-05-18 18:17:19 +02:00
|
|
|
|
/// Возвращает первое поле строки результата Sql запроса
|
|
|
|
|
/// @return Первое поле строки результата Sql запроса
|
|
|
|
|
SqlField begin() const;
|
|
|
|
|
|
|
|
|
|
/// Возвращает последнее поле строки результата Sql запроса
|
|
|
|
|
/// @return Последнее поле строки результата Sql запроса
|
|
|
|
|
SqlField end() const;
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
const SqlResult &_result;
|
|
|
|
|
int _row;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
}
|