#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QFileDialog>
#include <QMessageBox>
#include <QDesktopServices>
#include <QUrl>
#include <QProcess>
#include <QSqlDatabase>
#include <QtSql>
#include <QDebug>
#include <QFileInfo>
#include <QtWidgets>
#include <QLineEdit>
#include "addrecipe.h"
MainWindow
::MainWindow(QWidget *parent
) : ui(new Ui::MainWindow)
{
ui->setupUi(this);
//setup database driver in main window
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_pushButton_clicked()
{
//create database connection and show its contents
mydb.setDatabaseName("C:\\sqlite-tools-win32-x86-3170000\\recipedb.db");
mydb.open();
if(mydb.open()){
ui->label->setText("Database Connected");
//setup table view
model->setQuery("SELECT empid, name, title FROM employee");
model
->setHeaderData
(0, Qt
::Horizontal,
QObject::tr("empid"));
model
->setHeaderData
(1, Qt
::Horizontal,
QObject::tr("name"));
model
->setHeaderData
(2, Qt
::Horizontal,
QObject::tr("title"));
ui->tableView->setModel(model);
ui->tableView->setColumnWidth(0,100);
ui->tableView->setColumnWidth(1,100);
ui->tableView->setColumnWidth(2,100);
ui->tableView->horizontalHeader()->setStretchLastSection(true);
ui->tableView->show();
}
}
//creates new database with sqlite and bath file
void MainWindow::on_actionCreate_New_triggered()
{
QFileInfo cmdFile
( "C:\\Windows\\system32\\cmd.exe");
process->execute(cmdFile.absoluteFilePath() + " /c C:\\sqlite-tools-win32-x86-3170000\\recipe.bat");
process->waitForFinished() ;
process->kill();
}
//closing database connection
void MainWindow::on_pushButton_2_clicked()
{
if (mydb.isOpen())
mydb.close();
QSqlDatabase::removeDatabase("C:\\sqlite-tools-win32-x86-3170000\\recipedb.db");
if(!mydb.open()){
ui->label->setText("Database NOT Connected");}
}
//insert into database from input fields
void MainWindow::on_pushButton_4_clicked()
{
empid = ui->lineEdit->text();
name = ui->lineEdit_2->text();
title = ui->lineEdit_3->text();
query.prepare("INSERT INTO employee (empid,name,title) VALUES ( :empid, :name, :title)");
query.bindValue(":empid",empid);
query.bindValue(":name",name);
query.bindValue(":title",title);
query.exec();
}
void MainWindow::on_lineEdit_cursorPositionChanged(int arg1, int arg2)
{
}
//new recipe window
void MainWindow::on_actionAdd_New_triggered()
{
AddRecipe mDialogAddRecipe;
mDialogAddRecipe.setModal(true);
mDialogAddRecipe.exec();
}
//try to get select query
void MainWindow::on_pushButton_3_clicked()
{
mydb.setDatabaseName("C:\\sqlite-tools-win32-x86-3170000\\recipedb.db");
mydb.open();
name = ui->lineEdit->text();
// name = ui->lineEdit_2->text();
// title = ui->lineEdit_3->text();
query.prepare("SELECT * FROM employee WHERE name = (:name)");
query.bindValue(":name",name);
// query.bindValue(":name",name);
// query.bindValue(":title",title);
query.exec();
model
->setHeaderData
(0, Qt
::Horizontal,
QObject::tr("empid"));
model
->setHeaderData
(1, Qt
::Horizontal,
QObject::tr("name"));
model
->setHeaderData
(2, Qt
::Horizontal,
QObject::tr("title"));
ui->tableView->horizontalHeader()->setStretchLastSection(true);
ui->tableView->show();
}
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QFileDialog>
#include <QMessageBox>
#include <QDesktopServices>
#include <QUrl>
#include <QProcess>
#include <QSqlDatabase>
#include <QtSql>
#include <QDebug>
#include <QFileInfo>
#include <QtWidgets>
#include <QLineEdit>
#include "addrecipe.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
//setup database driver in main window
QSqlDatabase mydb = QSqlDatabase::addDatabase("QSQLITE");
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_pushButton_clicked()
{
//create database connection and show its contents
QSqlDatabase mydb = QSqlDatabase::addDatabase("QSQLITE");
mydb.setDatabaseName("C:\\sqlite-tools-win32-x86-3170000\\recipedb.db");
mydb.open();
if(mydb.open()){
ui->label->setText("Database Connected");
//setup table view
QSqlQueryModel *model=new QSqlQueryModel();
model->setQuery("SELECT empid, name, title FROM employee");
model->setHeaderData(0, Qt::Horizontal, QObject::tr("empid"));
model->setHeaderData(1, Qt::Horizontal, QObject::tr("name"));
model->setHeaderData(2, Qt::Horizontal, QObject::tr("title"));
ui->tableView->setModel(model);
ui->tableView->setColumnWidth(0,100);
ui->tableView->setColumnWidth(1,100);
ui->tableView->setColumnWidth(2,100);
ui->tableView->horizontalHeader()->setStretchLastSection(true);
ui->tableView->show();
}
}
//creates new database with sqlite and bath file
void MainWindow::on_actionCreate_New_triggered()
{
QFileInfo cmdFile( "C:\\Windows\\system32\\cmd.exe");
QProcess *process = new QProcess( this );
process->execute(cmdFile.absoluteFilePath() + " /c C:\\sqlite-tools-win32-x86-3170000\\recipe.bat");
process->waitForFinished() ;
process->kill();
}
//closing database connection
void MainWindow::on_pushButton_2_clicked()
{
QSqlDatabase mydb = QSqlDatabase::database("QSQLITE");
if (mydb.isOpen())
mydb.close();
QSqlDatabase::removeDatabase("C:\\sqlite-tools-win32-x86-3170000\\recipedb.db");
if(!mydb.open()){
ui->label->setText("Database NOT Connected");}
}
//insert into database from input fields
void MainWindow::on_pushButton_4_clicked()
{
QString empid, name, title;
empid = ui->lineEdit->text();
name = ui->lineEdit_2->text();
title = ui->lineEdit_3->text();
QSqlQuery query;
query.prepare("INSERT INTO employee (empid,name,title) VALUES ( :empid, :name, :title)");
query.bindValue(":empid",empid);
query.bindValue(":name",name);
query.bindValue(":title",title);
query.exec();
}
void MainWindow::on_lineEdit_cursorPositionChanged(int arg1, int arg2)
{
}
//new recipe window
void MainWindow::on_actionAdd_New_triggered()
{
AddRecipe mDialogAddRecipe;
mDialogAddRecipe.setModal(true);
mDialogAddRecipe.exec();
}
//try to get select query
void MainWindow::on_pushButton_3_clicked()
{
QSqlDatabase mydb = QSqlDatabase::addDatabase("QSQLITE");
mydb.setDatabaseName("C:\\sqlite-tools-win32-x86-3170000\\recipedb.db");
mydb.open();
QSqlQueryModel *model=new QSqlQueryModel();
QString name;
name = ui->lineEdit->text();
// name = ui->lineEdit_2->text();
// title = ui->lineEdit_3->text();
QSqlQuery query;
query.prepare("SELECT * FROM employee WHERE name = (:name)");
query.bindValue(":name",name);
// query.bindValue(":name",name);
// query.bindValue(":title",title);
query.exec();
model->setHeaderData(0, Qt::Horizontal, QObject::tr("empid"));
model->setHeaderData(1, Qt::Horizontal, QObject::tr("name"));
model->setHeaderData(2, Qt::Horizontal, QObject::tr("title"));
ui->tableView->horizontalHeader()->setStretchLastSection(true);
ui->tableView->show();
}
To copy to clipboard, switch view to plain text mode
Bookmarks