Программа поиска информации о телевизорах

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



?олнение третьей таблицы

На рисунках 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   рубрикатор по предметам  рубрикатор по типам работ  пользовательское соглашение