mydb.cpp

来自「PSP公交查询系统的公交数据管理。使用跨平台的QT作为开发工具。目前尚未全部完成」· C++ 代码 · 共 54 行

CPP
54
字号
#include "MyDB.h"
#include "Logger.h"

MyDB* MyDB::mInstance = NULL;

MyDB* MyDB::GetInstance()
{
	if (mInstance == NULL)
	{
		mInstance = new MyDB();
	}

	return mInstance;
}
void MyDB::Destroy() {
	if (mInstance != NULL) {
		delete mInstance;
	}
	mInstance = NULL;
}

MyDB::MyDB(void)
{
	db.open("c:\\data.db");
	if (!db.tableExists("Line")) {
		Execute("create table Line(name varchar(20) PRIMARY KEY,comment varchar(1024), content1 varchar(1024), content2 varchar(1024), issame integer)");
		Execute("create table SingleLineStop(name varchar(20), position integer, stop varchar(20), PRIMARY KEY(name, position))");
		Execute("create index SingleLineStopIndex on SingleLineStop(stop)");
		Execute("create table comment(city varchar(20) PRIMARY KEY,author varchar(20), time varchar(20), comment varchar(1024))");
		Execute("insert into comment values('δ֪', '', '', '')");
	}
}

CppSQLite3Query MyDB::Execute(string sql) {

	Logger::GetInstance()->Log(sql);

	CppSQLite3Query ret;
	try {
		ret = db.execQuery(sql.c_str());
	} catch (CppSQLite3Exception ex) {

		Logger::GetInstance()->Log(string(ex.errorMessage()) + ":" + sql);
		throw ex;

	}
	return ret;
}

MyDB::~MyDB(void) {
	db.close();
}

⌨️ 快捷键说明

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