1. 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();
QSqlQueryModel * tableModel = new QSqlQueryModel();
login::connOpen();
QSqlQuery* qry = new QSqlQuery(login::mydb);
QString stmt;
stmt = "select eid,name,surname,age from employeeinfo";
qry->prepare(stmt);
qry->exec();
tableModel->setQuery(*qry);
ui->tableView->setModel(tableModel);
stmt = "select name from employeeinfo";
qry->prepare(stmt);
qry->exec();
modal->setQuery(*qry);
ui->listView->setModel(modal);
ui->comboBox->setModel(modal);
login::connClose();
qDebug() << modal->rowCount();
}
void EmployeeInfo::on_comboBox_currentIndexChanged(const QString &arg1)
{
QString name = ui->comboBox->currentText();
if( !login::connOpen())
{
qDebug() << "Failed to open the database";
return;
}
QSqlQuery qry;
QString stsm = "select * from employeeinfo where name = '"+ name +"'";
qry.prepare(stsm);
if( qry.exec())
{
while(qry.next())
{
ui->txt_eid->setText(qry.value(0).toString());
ui->txt_name->setText(qry.value(1).toString());
ui->txt_surname->setText(qry.value(2).toString());
ui->txt_age->setText(qry.value(3).toString());
}
login::connClose();
}
else
{
QMessageBox::critical(this, tr("Error"), qry.lastError().text());
}
}
void EmployeeInfo::on_tableView_activated(const QModelIndex &index)
{
QString val = ui->tableView->model()->data(index).toString();
if( !login::connOpen())
{
qDebug() << "Failed to open the database";
return;
}
QSqlQuery qry;
QString stsm = "select * from employeeinfo where eid = '"+ val +"' or name = '"+ val +"' or surname = '"+ val +"' or age = '"+ val +"' ";
qry.prepare(stsm);
if( qry.exec())
{
while(qry.next())
{
ui->txt_eid->setText(qry.value(0).toString());
ui->txt_name->setText(qry.value(1).toString());
ui->txt_surname->setText(qry.value(2).toString());
ui->txt_age->setText(qry.value(3).toString());
}
login::connClose();
}
else
{
QMessageBox::critical(this, tr("Error"), qry.lastError().text());
}
}