Программа поиска информации о телевизорах
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
?олнение третьей таблицы
На рисунках 2.2, 2.3, 2.4 показаны наполнения таблиц базы данных.
Графически, программа представляет собой три окна, на которые выводится информация о телевизорах. Как показано на рисунке 2.5 левое окно отображает производителей и наличие телевизоров. Среднее окно отображает типы и диагонали телевизоров находящихся в наличие. Правое окно отображает количество телевизоров на складе и среднюю цену на них. На рисунке 2.5 был произведен запрос по ID=1.
Рис 2.5 Внешний вид программы
Код программы находиться в пяти текстовых файлах: Kr.pro - корневой файл в котором находятся записи об остальных файлах и библиотеках; Connect.h-заголовочный файл в котором написан код подключающий базу данных; mainwindow.h-заголовочный файл, в котором задаются постоянные, слоты и т.п.; main.cpp- содержит подключения к connect.h и содержит код, описывающий корректное выполнение программы; mainwindow.cpp-содержит основную часть кода, который непосредственно выполняется при запуске программы.
Код программы:
Kr.pro:+= core gui= program= app+= sql+= main.cpp\
Connect.h
#ifndef CONNECT_H
#define CONNECT_H
#include
#include bool createConnection()
{db = QSqlDatabase::addDatabase("QSQLITE");.setDatabaseName("C:/01010101/Denis Krash/Kr/db1.db");(!db.open())
{::critical(0,"Connection error!","Connection failed!");false;
}true;
}
#endif // CONNECT_H
mainvindow.h:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include
#include Ui {MainWindow;
}
class MainWindow : public QMainWindow
{_OBJECT
public:MainWindow(QWidget *parent = 0);
~MainWindow();:changeEvent(QEvent *e);
private:::MainWindow *ui;*tab;*qm;*qp;
private slots:
void on_pushButton_clicked();slot1();
};
#endif // MAINWINDOW_H
main.cpp:
#include
#include "mainwindow.h"
#include "connect.h"
#include
int main(int argc, char *argv[])
{a(argc, argv);(!createConnection())
{::critical(0,"Connection error!","Connection failed!");1;
}w;.show();a.exec();
}
mainwindow.cpp:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include ::MainWindow(QWidget *parent) :(parent),(new Ui::MainWindow)
{>setupUi(this);= new QSqlTableModel;>setTable("table1");>select();>setHeaderData(0, Qt::Horizontal, QString::fromLocal8Bit("ID"));>setHeaderData(1, Qt::Horizontal, QString::fromLocal8Bit("Производитель"));>setHeaderData(2, Qt::Horizontal, QString::fromLocal8Bit("Наличие"));>select();>tableView->setModel(tab);>tableView->resizeColumnsToContents();
}::~MainWindow()
{ui;
}MainWindow::changeEvent(QEvent *e)
{::changeEvent(e);(e->type()) {QEvent::LanguageChange:>retranslateUi(this);;:;
}
}MainWindow::on_pushButton_clicked()
{
}MainWindow::slot1()
{h=ui->lineEdit->text();t=ui->lineEdit->text();=new QSqlQueryModel;q1=QString ("SELECT Type, diagonal FROM table2 WHERE ID="+h);>setQuery(q1);>tableView_2->setModel(qm);
qm->setHeaderData(0, Qt::Horizontal, QString::fromLocal8Bit("Тип"));>setHeaderData(1, Qt::Horizontal, QString::fromLocal8Bit("Диагональ"));=new QSqlQueryModel;p=QString("SELECT Quantity_in_a_warehouse, The_average_price FROM table3 WHERE ID="+t);>setQuery(p);>tableView_3->setModel(qp);
qp->setHeaderData(0, Qt::Horizontal, QString::fromLocal8Bit("Количество на складе"));>setHeaderData(1, Qt::Horizontal, QString::fromLocal8Bit("Средняя цена товара"));
}
Наиболее важные части кода находятся в connect.h и mainwinwow.cpp. Код подключающий базу данных:bool createConnection()
{db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("F:/01010101/KypcoBa9/program/db1.db");(!db.open())
{::critical(0,"Connection error!","Connection failed!");
return false;
}true;
}
В данной части кода прописывается тип базы данных и путь к ней, так же прописывается код, который запускает её.
Код выполняющий поиск и выдачу информации на экран:
ui->setupUi(this);= new QSqlTableModel;>setTable("table1");>select();>setHeaderData(0, Qt::Horizontal, QString::fromLocal8Bit("ID"));>setHeaderData(1, Qt::Horizontal, QString::fromLocal8Bit("Производитель "));>setHeaderData(2, Qt::Horizontal, QString::fromLocal8Bit("Наличие"));>select();>tableView->setModel(tab);>tableView->hideColumn(0);>tableView->resizeColumnsToContents();
QString h=ui->lineEdit->text();t=ui->lineEdit->text();=new QSqlQueryModel;q=QString ("SELECT Type, diagonal FROM table2 WHERE ID="+h);>setQuery(q);>tableView_2->setModel(qm);=new QSqlQueryModel;p=QString("SELECT Quantity_in_a_warehouse, The_average_price table3 WHERE ID="+t);>setQuery(p);>tableView_3->setModel(qp);
}
В данном коде первая таблица выводиться на tableView и названия заменяются с английского на русский язык. Далее данные из таблицы 2 и таблицы 3 выводиться информация в tableView 2 и tableView 3 соответственно.
программирование язык телевизор база
Заключение
В рамках курсовой работы была разработана программа, совершающая поиск по запросу и базы данных. В ходе выполнения проекта были изучены некоторые функции и особенности языка С++.
Разработка системы продемонстрировала некоторые особенности языка С++, а именно среды qt creator.
При помощи данной программы пользователь, сможет совершать поиск информации из базы данных по телевизорам.
Приложение
Код программы:
Kr.pro:+= core gui= program= app+= sql+= main.cpp\
Connect.h
#ifndef CONNECT_H
#define CONNECT_H
#include
#include bool createConnection()
{db = QSqlDatabase::addDatabase("QSQLITE");.setDatabaseName("C:/01010101/Denis Krash/Kr/db1.db");(!db.open())
{::critical(0,"Connection error!","Connection failed!");false;
}true;
}
#endif // CONNECT_H
mainvindow.h:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include
#include Ui {MainWindow;
}MainWindow : public QMainWindow
{_OBJECT:MainWindow(QWidget *parent = 0);
~MainWindow();:changeEvent(QEvent *e);:::MainWindow *ui;*tab;*qm;*qp;slots:on_pushButton_clicked();slot1();
};
#endif // MAINWINDOW_H
main.cpp:
#include
#include "mainwindow.h"
#include "connect.h"
#include main(int argc, char *argv[])
{a(argc, argv);(!createConnection())
{::critical(0,"Connection error!","Connection failed!");1;
}w;.show();a.exec();
}
mainwindow.cpp:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include ::MainWindow(QWidget *parent) :(parent),(new Ui::MainWindow)
{>setupUi(this);= new QSqlTableModel;>setTable("table1");>select();>setHeaderData(0, Qt::Horizontal, QString::fromLocal8Bit("ID"));>setHeaderData(1, Qt::Horizontal, QString::fromLocal8Bit("Производитель&q
Copyright © 2008-2014 geum.ru рубрикатор по предметам рубрикатор по типам работ пользовательское соглашение