#include #include #include #include #include #include #include #include "../../include/tool/sqlite.h" namespace database { sqlite::sqlite() { createDB(); } sqlite::~sqlite() { db.close(); } int sqlite::createDB() { int result; if(QSqlDatabase::contains("QSQLITE")) { db = QSqlDatabase::database("QSQLITE"); result = 0; if(db.open() == false){ qDebug() << "Error: Failed to connect database." << db.lastError(); result = 2; } } else { db = QSqlDatabase::addDatabase("QSQLITE"); db.setDatabaseName("JointSecure.db"); if(db.open() == false){ qDebug() << "Error: Failed to connect database." << db.lastError(); result = 2; } else { createMissionTable(); createRobortTable(); } result = 1; } return result; } int sqlite::createMissionTable() { int result; QString createSql = QString("CREATE TABLE Mission(\ id INT PRIMARY KEY NOT NULL,\ name TEXT NOT NULL,\ type INT NOT NULL)"); QSqlQuery query; if(!query.exec(createSql)) { qDebug() << "Error: Fail to create table." << query.lastError(); result = 0; } else { qDebug() << "Table created!"; result = 1; } return result; } int sqlite::createRobortTable() { int result; QString createSql = QString("CREATE TABLE Robort(\ id INT PRIMARY KEY NOT NULL,\ name TEXT NOT NULL,\ type INT NOT NULL,\ ip TEXT NOT NULL,\ mission TEXT NOT NULL)"); QSqlQuery query; if(!query.exec(createSql)) { qDebug() << "Error: Fail to create table." << query.lastError(); result = 0; } else { qDebug() << "Table created!"; result = 1; } return result; } int sqlite::addMission(std::string name, int type) { //获得Mission表最大id QSqlQuery id_query; QString select_max_sql = QString("select max(id) from Mission"); int max_id = 0; id_query.prepare(select_max_sql); if (!id_query.exec()) { qDebug() << "max_id error:"< sqlite::traverseMission() { std::vector missionlist; QSqlQuery mission_query; QString select_max_sql = QString("select name from Mission"); int max_id = 0; mission_query.prepare(select_max_sql); if (!mission_query.exec()) { qDebug() << "Mission name error:"<