Files
UnrealEngineUWP/Engine/Source/Runtime/SQLiteSupport/Public/SQLiteDatabaseConnection.h

45 lines
1.5 KiB
C
Raw Normal View History

// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "SQLiteSupport.h"
#include "SQLiteResultSet.h"
/**
* SQLite database file
*/
//Forward declarations
struct sqlite3;
class FSQLiteDatabase : FDataBaseConnection
{
public:
/** Closes the database handle and unlocks the file */
SQLITESUPPORT_API virtual void Close();
/** Execute a command on the database without storing the result set (if any) */
SQLITESUPPORT_API virtual bool Execute(const TCHAR* CommandString) override;
/** Executes the command string on the currently opened database, returning a FSQLiteResultSet in RecordSet. Caller is responsible for freeing RecordSet */
SQLITESUPPORT_API bool Execute(const TCHAR* CommandString, FSQLiteResultSet*& RecordSet);
/** Open a SQLite file
* @param ConnectionString Path to the file that should be opened
* @param RemoteConnectionIP Unused with this implementation
* @param ConnectionString Unused with this implementation
*/
SQLITESUPPORT_API virtual bool Open(const TCHAR* ConnectionString, const TCHAR* RemoteConnectionIP, const TCHAR* RemoteConnectionStringOverride);
//Overriding to address warning C4264 - SQLite databases should call Execute(const TCHAR* CommandString, FSQLiteResultSet*& RecordSet) instead
SQLITESUPPORT_API virtual bool Execute(const TCHAR* CommandString, FDataBaseRecordSet*& RecordSet) override;
SQLITESUPPORT_API FString GetLastError();
protected:
sqlite3* DbHandle = NULL;
};