QT18 how to link QListView with sqlite Database values

来源:互联网 发布:关于编程的电影 编辑:程序博客网 时间:2024/06/06 04:15

1. modify employeeinfo window


2. modify employeeinfo.cpp

#include "employeeinfo.h"#include "ui_employeeinfo.h"#include "login.h"#include <QMessageBox>EmployeeInfo::EmployeeInfo(QWidget *parent) :    QDialog(parent),    ui(new Ui::EmployeeInfo){    ui->setupUi(this);    if(!login::connOpen())    {        ui->label_sec_status->setText("Failed to open the database") ;    }    else    {        ui->label_sec_status->setText("Connected...") ;    }}EmployeeInfo::~EmployeeInfo(){    delete ui;}void EmployeeInfo::on_pushButton_clicked(){    QString eid, name, surname, age;    eid = ui->txt_eid->text();    name =ui->txt_name->text();    surname = ui->txt_surname->text();    age = ui->txt_age->text();    if(!login::connOpen())    {        qDebug() << "Failed to open the database";        return ;    }    QSqlQuery qry;    QString stmt = "insert into employeeinfo (eid,name,surname,age) values('"+ eid +"','"+ name +"','"+ surname +"','"+ age +"')";    qry.prepare(stmt);    if( qry.exec())    {        QMessageBox::information(this, tr("Save"), tr("Saved"));        login::connClose();    }    else    {        QMessageBox::critical(this, tr("Error"), qry.lastError().text());    }}void EmployeeInfo::on_pushButton_edit_clicked(){    QString eid, name, surname, age;    eid = ui->txt_eid->text();    name =ui->txt_name->text();    surname = ui->txt_surname->text();    age = ui->txt_age->text();    if(!login::connOpen())    {        qDebug() << "Failed to open the database";        return ;    }    QSqlQuery qry;    QString stmt = "update employeeinfo set eid='"+ eid+"',name='"+ name+ "',surname='"+ surname+"',age='"+ age +"'where eid='" + eid + "'";    qry.prepare(stmt);    if( qry.exec())    {        QMessageBox::information(this, tr("Edit"), tr("Updated"));        login::connClose();    }    else    {        QMessageBox::critical(this, tr("Error"), qry.lastError().text());    }}void EmployeeInfo::on_pushButton_delete_clicked(){    QString eid, name, surname, age;    eid = ui->txt_eid->text();//    name =ui->txt_name->text();//    surname = ui->txt_surname->text();//    age = ui->txt_age->text();    if(!login::connOpen())    {        qDebug() << "Failed to open the database";        return ;    }    QSqlQuery qry;    QString stmt = "delete from employeeinfo where eid = '"+ eid +"'";    qry.prepare(stmt);    if( qry.exec())    {        QMessageBox::information(this, tr("Delete"), tr("Deleted"));        login::connClose();    }    else    {        QMessageBox::critical(this, tr("Error"), qry.lastError().text());    }}void EmployeeInfo::on_pushButton_load_clicked(){    QSqlQueryModel * modal = new QSqlQueryModel();    login::connOpen();    QSqlQuery* qry = new QSqlQuery(login::mydb);    QString stmt;    stmt = "select eid, name, surname from employeeinfo";    qry->prepare(stmt);    qry->exec();    modal->setQuery(*qry);    ui->tableView->setModel(modal);    login::connClose();    qDebug() << modal->rowCount();}void EmployeeInfo::on_pushButton_load_list_clicked(){    QSqlQueryModel * modal = new QSqlQueryModel();    login::connOpen();    QSqlQuery* qry = new QSqlQuery(login::mydb);    QString stmt;    stmt = "select name from employeeinfo";    qry->prepare(stmt);    qry->exec();    modal->setQuery(*qry);    ui->listView->setModel(modal);    login::connClose();    qDebug() << modal->rowCount();}


3.


0 0
原创粉丝点击