⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sqlitedatabase.cpp

📁 WOW 服务模拟端 支持2.4.3版本 来自开源的ASCENT 自己REPACK
💻 CPP
字号:
/* AscentEmu By SOI */

#include "DatabaseEnv.h"
#include "../CrashHandler.h"
#include "../NGLog.h"

#if defined(ENABLE_DATABASE_SQLITE) 

#include "SQLiteDatabase.h"

SQLiteDatabase::~SQLiteDatabase()
{
	delete Connections;
}

SQLiteDatabase::SQLiteDatabase() : Database()
{

}

void SQLiteDatabase::_BeginTransaction(DatabaseConnection * conn)
{
	//_SendQuery( conn, "BEGIN TRANSACTION", false );
}

void SQLiteDatabase::_EndTransaction(DatabaseConnection * conn)
{
	//_SendQuery( conn, "COMMIT TRANSACTION", false );
}

bool SQLiteDatabase::Initialize(const char* Hostname, unsigned int port, const char* Username, const char* Password, const char* DatabaseName, uint32 ConnectionCount, uint32 BufferSize)
{
	//int result;
	//SQLiteDatabaseConnection * con;

	mHostname = string(Hostname);
	mConnectionCount = ConnectionCount;
	mUsername = string(Username);
	mPassword = string(Password);

	Log.Notice("SQLiteDatabase", "Opening `%s`...", Hostname);
/*	Connections = new SQLiteDatabaseConnection;
	con = static_cast<SQLiteDatabaseConnection*>(Connections);
	
	result = sqlite3_open( mHostname.c_str(), &con->handle );
	if( con->handle == NULL || result != SQLITE_OK )
	{
		Log.Error("SQLiteDatabase", "Could not open %s.", Hostname);
		return false;
	}
*/
	return true;
}

string SQLiteDatabase::EscapeString(string Escape)
{
	char a2[16384] = {0};
	sqlite3_snprintf( 16384, a2, Escape.c_str() );
	return string(a2);
}

void SQLiteDatabase::EscapeLongString(const char * str, uint32 len, stringstream& out)
{
	char a2[65536*3] = {0};
	sqlite3_snprintf( 65536*3, a2, str );
}

string SQLiteDatabase::EscapeString(const char * esc, DatabaseConnection * con)
{
	char a2[16384] = {0};
	sqlite3_snprintf( 16384, a2, esc );
	return string(a2);
}

void SQLiteDatabase::Shutdown()
{
//	sqlite3_close( static_cast<SQLiteDatabaseConnection*>(Connections)->handle );
}

bool SQLiteDatabase::_SendQuery(DatabaseConnection *con, const char* Sql, bool Self)
{
	SQLiteDatabaseConnection * db = static_cast<SQLiteDatabaseConnection*>( con );
	char * err = NULL;
	int result = sqlite3_get_table( db->handle, Sql, &db->tabledata, &db->rows, &db->cols, &err );

	if( result != SQLITE_OK )
	{
		printf("SQLite: Query failed with error message: %s", err ? err : "NULL");
		return false;
	}
	return true;
}

QueryResult * SQLiteDatabase::_StoreQueryResult(DatabaseConnection * con)
{
	return NULL;
}

}

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -