📄 mariosql.hpp
字号:
#ifndef _MARIOSQL_HPP_
#define _MARIOSQL_HPP_
#include <hge.h>
#include <hgesql.h>
#include <string>
using namespace std;
class MarioSql
{
private:
HDATABASE hdb;
HQUERY hquery;
HGE *hge;
public:
MarioSql();
~MarioSql();
void Open();
void CreateDataBase();
void Close();
void ExecuteQuery(const HQUERY& hquery,const string& sql);
void ExecuteNonQuery(const HQUERY& hquery,const string& sql);
// 读取上次状态
void LoadLastTime(const string& groupID,long& mark,long& life,long& coincount );
// 保存本次游戏结束时的状态
void SaveState(const string& groupID,const string& mark,const string& life,const string& coincount);
};
MarioSql::MarioSql()
{
Open();
}
MarioSql::~MarioSql()
{
if(hge!=NULL)
delete hge;
}
void MarioSql::Open()
{
hdb = SQL_LoadDB("Mario.db");
hquery = SQL_CreateQuery(hdb);
}
void MarioSql::CreateDataBase()
{
SQL_Execute(hquery,"create table Mario (GroupID INTEGER primary key,Mark INTEGER,Life INTEGER,CoinCount INTEGER)");
}
void MarioSql::ExecuteQuery(const HQUERY &hquery, const std::string &sql)
{
SQL_Query(hquery,sql);
}
void MarioSql::ExecuteNonQuery(const HQUERY &hquery, const std::string &sql)
{
SQL_Execute(hquery,sql);
}
void MarioSql::Close()
{
SQL_FreeQuery(hquery);
SQL_FreeDB(hdb);
}
// 读取上一小组的状态
void MarioSql::LoadLastTime(const string& groupID,long& mark,long& life,long& coincount )
{
string sql = "select * from Mario where groupID='"+groupID+"'";
SQL_Query(hquery,sql);
while (SQL_FetchRow(hquery))
{
SQL_GetQueryResult(hquery,SQL_TYPE_LONG,&mark,"Mark");
SQL_GetQueryResult(hquery,SQL_TYPE_LONG,&life,"Life");
SQL_GetQueryResult(hquery,SQL_TYPE_LONG,&coincount,"CoinCount");
}
}
//保存本次游戏结束时状态
void MarioSql::SaveState(const string& groupID,const string& mark,const string& life,const string& coincount)
{
string sql = "update Mario set Mark="+mark+",Life="+life+",CoinCount="+coincount+" where GroupID="+groupID;
SQL_Query(hquery,sql);
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -