#include "data_base.h" QSqlDatabase database; void Data_base::set_database() { // 创建数据库,命名为Pet_project.db database = QSqlDatabase::addDatabase("QSQLITE"); database.setDatabaseName("Pet_project.db"); if (!database.open()) { qDebug() << "Error: Failed to connect database." << database.lastError(); } else { qDebug() << "Succeed to connect database." ; } } void Data_base::delete_table(){ //删除表格 QSqlQuery to_user; to_user.exec("drop table USER"); if(to_user.exec()) { qDebug() << to_user.lastError(); } else { qDebug() << "Table cleared"; } } void Data_base::creat_table() { //在数据库中新建立一个表格,用于记录用户信息 QSqlQuery to_user; QStringList table_list = database.tables(); if(!table_list.contains("USER")) { //在数据库中新建立一个表格,用于记录用户信息 if(!to_user.exec("create table USER(user_name varchar primary key,password varchar)")) { qDebug() << "Error: Fail to create table."<< to_user.lastError(); } else{ qDebug() << "Table user created!"; } } else{ qDebug()<<"USER already exist"; } QString Username = "pet"; QString s = QString("SELECT * FROM USER where user_name='%1' ").arg(Username); to_user.exec(s); int num=0; while(to_user.next()) { num++; } if(num==0) { //给用户表中插入一个初始的用户,我的超级用户 to_user.exec("insert into USER values('pet', '123456')"); } if(!table_list.contains("COMMUNICATION")) { //在数据库中新建立一个表格,用于记录用户信息 if(!to_user.exec("create table COMMUNICATION(the_content varchar,the_user varchar)")) { qDebug() << "Error: Fail to create Communication table."<< to_user.lastError(); } else{ qDebug() << "Table COMMUNICATION created!"; } } else{ qDebug()<<"COMMUNICATION already exist"; } } bool Data_base::check_user(QString Username, QString Password) { if(database.open()) { QSqlQuery check(database); //查询是给返回一个满足条件的表,如果没有,表为空,check一开始指向的是返回的表之外 QString s = QString("SELECT * FROM USER where user_name='%1' and password='%2' ").arg(Username).arg(Password); check.exec(s); int num=0; while(check.next()) { num++; } if(num!=0) return true; else return false; } }