DarkflameServer/dDatabase/CDClientDatabase/CDClientDatabase.h
jadebenn 4a50c60559
chore: Assorted pet improvements (#1402)
* Assorted pet improvements

* remove unecessary include

* updates to address some feedback

* fixed database code for testing

* Removed reference member (for now)

* Removed cmake flag
2024-01-08 15:32:09 -08:00

51 lines
1.1 KiB
C++

#pragma once
// C++
#include <string>
// SQLite
#include "CppSQLite3.h"
/*
* Optimization settings
*/
#include <sstream>
#include <iostream>
//! The CDClient Database namespace
namespace CDClientDatabase {
/**
* Boolean defining the connection status of CDClient
*/
extern bool isConnected;
//! Opens a connection with the CDClient
/*!
\param filename The filename
*/
void Connect(const std::string& filename);
//! Queries the CDClient
/*!
\param query The query
\return The results of the query
*/
CppSQLite3Query ExecuteQuery(const std::string& query);
//! Updates the CDClient file with Data Manipulation Language (DML) commands.
/*!
\param query The DML command to run. DML command can be multiple queries in one string but only
the last one will return its number of updated rows.
\return The number of updated rows.
*/
int ExecuteDML(const std::string& query);
//! Queries the CDClient and parses arguments
/*!
\param query The query with formatted arguments
\return prepared SQLite Statement
*/
CppSQLite3Statement CreatePreppedStmt(const std::string& query);
};