Files
UnrealEngineUWP/Engine/Source/Runtime/SQLiteSupport/Public/SQLiteDatabaseConnection.h
Matthew Griffin bb70b349ce Merging CL 2804086 from //UE4/Release-4.11 to Dev-Main (//UE4/Dev-Main) to isolate copyright update
#lockdown Nick.Penwarden

[CL 2819020 by Matthew Griffin in Main branch]
2016-01-07 08:17:16 -05:00

44 lines
1.4 KiB
C++

// Copyright 1998-2016 Epic Games, Inc. All Rights Reserved.
#pragma once
#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;
};