QT控件之Qtable Widget(3)——数据库相关

#include "dataclass.h"

DataClass::DataClass()
{

}
// 连接sqliteDB
bool DataClass::open()
{
    database=QSqlDatabase::addDatabase("QSQLITE");
    database.setDatabaseName("./kzq_ldxDB.DB");
    if(!database.open()){
        qDebug() <<database.lastError();
        return false ;
    }
    return true;
}

// 主页初期页面值
void DataClass::selcetID1(){
    sql_query = QSqlQuery(database);
    select_sql = "select a.name, b.remarks from operatorinter a,mstlevel b where a.level=b.level and a.id=1;";
    if(!sql_query.exec(select_sql))
    {
        qDebug()<<sql_query.lastError();
    }
    else
    {
        while(sql_query.next())
        {
            name = sql_query.value(0).toString();
            remarks = sql_query.value(1).toString();
        }
    }
}

// 登陆名称检验
bool  DataClass::selcetLogin(QString name,QString password){
    sql_query = QSqlQuery(database);
    QString select_sql = "select count(*), b.remarks from operatorinter a,mstlevel b where a.level=b.level and name=:name and password=:password;";
    sql_query.prepare(select_sql);
    sql_query.bindValue(":name",name);
    sql_query.bindValue(":password", password);
    if(!sql_query.exec())
    {
        qDebug()<<sql_query.lastError();
    }
    else
    {
        while(sql_query.next())
        {
            if(sql_query.value(0).toInt()){
                remarks = sql_query.value(1).toString();
                return true;
            }
        }
    }
    return false;
}

// 用户界面初期显示数据
int DataClass::onShowUserDb(QTableWidget *tableWidget)
{
    int i = 0, j = 0, nColumn, nRow;
    sql_query = QSqlQuery(database);
    QString select_sql = "select a.id,a.name,b.remarks,a.password,a.respectiveRegion from operatorinter a,mstlevel b where a.level=b.level;";
    sql_query.prepare(select_sql);
    sql_query.exec();
    sql_query.last();
    nRow = sql_query.at() + 1;
    tableWidget->setRowCount(nRow);
    nColumn = tableWidget->columnCount();
    sql_query.first();
    while(j<nRow)
    {
        for (i = 0; i<nColumn; i++)
            tableWidget->setItem(j, i, new QTableWidgetItem(sql_query.value(i).toString()));
        j++;
        sql_query.next();
    }
    return nRow;
}

// 用户界面【搜索】按钮押下显示内容
int DataClass::onShowUserDb_1(QTableWidget *tableWidget,QString name,QString remarks){

    int i = 0, j = 0, nColumn, nRow;
    sql_query = QSqlQuery(database);
    name = "%"+name+"%";
    remarks = "%"+remarks+"%";
    QString select_sql = "select a.id,a.name,b.remarks,a.password,a.respectiveRegion from operatorinter a,mstlevel b where a.level=b.level and a.name LIKE :name and b.remarks LIKE :remarks;";
    sql_query.prepare(select_sql);
    sql_query.bindValue(":name",name);
    sql_query.bindValue(":remarks", remarks);
    sql_query.exec();
    sql_query.last();
    nRow = sql_query.at() + 1;
    tableWidget->setRowCount(nRow);
    nColumn = tableWidget->columnCount();
    sql_query.first();
    while(j<nRow)
    {
        for (i = 0; i<nColumn; i++)
            tableWidget->setItem(j, i, new QTableWidgetItem(sql_query.value(i).toString()));
        j++;
        sql_query.next();
    }
    return nRow;
}

// 用户界面【删除】按钮押下显示内容
void DataClass::deleteUser(int id){
    sql_query = QSqlQuery(database);
    select_sql = QString("delete from operatorinter where id=%1;").arg(id);
    sql_query.prepare(select_sql);
    if(!sql_query.exec(select_sql))
    {
        qDebug()<<sql_query.lastError();
    }
}

// 关闭sqliteDB
void DataClass::close(){
    database.close();
}

猜你喜欢

转载自blog.csdn.net/weixin_42123784/article/details/88641094
今日推荐