2014-12-07 19:09:38 -05:00
|
|
|
// Copyright 1998-2015 Epic Games, Inc. All Rights Reserved.
|
2014-12-06 19:14:20 -05:00
|
|
|
|
2014-10-30 10:03:30 -04:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "Database.h"
|
|
|
|
|
//Forward declarations
|
|
|
|
|
struct sqlite3_stmt;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Result set for SQLite database queries
|
|
|
|
|
*/
|
|
|
|
|
class FSQLiteResultSet : public FDataBaseRecordSet
|
|
|
|
|
{
|
|
|
|
|
//FDatabaseRecordSet implementation
|
|
|
|
|
protected:
|
|
|
|
|
virtual void MoveToFirst() override;
|
|
|
|
|
virtual void MoveToNext() override;
|
|
|
|
|
virtual bool IsAtEnd() const override;
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
virtual int32 GetRecordCount() const override;
|
|
|
|
|
virtual FString GetString(const TCHAR* Column) const override;
|
|
|
|
|
virtual int32 GetInt(const TCHAR* Column) const override;
|
|
|
|
|
virtual float GetFloat(const TCHAR* Column) const override;
|
|
|
|
|
virtual int64 GetBigInt(const TCHAR* Column) const override;
|
|
|
|
|
virtual TArray<FDatabaseColumnInfo> GetColumnNames() const override;
|
|
|
|
|
//FDatabaseRecordSet
|
|
|
|
|
|
|
|
|
|
FSQLiteResultSet(sqlite3_stmt*& InStatement);
|
|
|
|
|
virtual ~FSQLiteResultSet();
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
TArray<FDatabaseColumnInfo> ColumnNames;
|
|
|
|
|
sqlite3_stmt* PreparedQuery = NULL;
|
|
|
|
|
int32 NumberOfRecords = 0;
|
|
|
|
|
int32 StepStatus = 0;
|
|
|
|
|
};
|