· 9 years ago · Dec 11, 2016, 09:10 PM
1#include "../mainwindow.h"
2#include "ui_mainwindow.h"
3
4#include <QDebug>
5
6void MainWindow::creeate_pb_house_table(){
7
8 QSqlQuery query(db);
9
10 query.prepare( "CREATE TABLE IF NOT EXISTS Publishing_house("
11 "pb_house_id INT AUTO_INCREMENT PRIMARY KEY,"
12 "Name varchar(255) NOT NULL,"
13 "UNIQUE KEY (Name))");
14
15 if(query.exec()){
16
17 qDebug() << "Table Publishing_house was created";
18 }
19 else{
20 error_create_table(query);
21 throw -1;
22 }
23}
24
25void MainWindow::creeate_type_of_pb_table(){
26
27 QSqlQuery query(db);
28
29 query.prepare( "CREATE TABLE IF NOT EXISTS Type_of_publication("
30 "type_of_pb_id INT AUTO_INCREMENT PRIMARY KEY,"
31 "Name varchar(255) NOT NULL,"
32 "UNIQUE KEY (Name))");
33 if(query.exec()){
34
35 qDebug() << "Table Type_of_publication was created";
36 }
37 else{
38 error_create_table(query);
39 throw -1;
40 }
41}
42
43void MainWindow::create_main_table(){
44
45 QSqlQuery query(db);
46
47 query.prepare("CREATE TABLE IF NOT EXISTS `main` ("
48 "`main_id` INT(11) NOT NULL AUTO_INCREMENT,"
49 "`Ðазвание публикации` VARCHAR(500) NULL DEFAULT NULL,"
50 "`Вид публикации` INT NOT NULL,"
51 "`Тип` VARCHAR(16) NULL DEFAULT NULL,"
52 "`ИздательÑтво` INT NOT NULL,"
53 "`Год изданиÑ` INT(11) NULL DEFAULT NULL,"
54 "`Страницы` VARCHAR(32) NULL DEFAULT NULL,"
55 "`пл` VARCHAR(8) NULL DEFAULT NULL,"
56 "`Ðвт пл` VARCHAR(8) NULL DEFAULT NULL,"
57 "`Соавторы` VARCHAR(255) NULL DEFAULT NULL,"
58 "`Гриф` VARCHAR(4) NULL DEFAULT '-',"
59 "`Примечание` VARCHAR(255) NULL DEFAULT NULL,"
60 "PRIMARY KEY (`main_id`),"
61 "INDEX `FK_main_type_of_publication` (`Вид публикации`),"
62 "INDEX `FK_main_publishing_house` (`ИздательÑтво`),"
63 "CONSTRAINT `FK_main_publishing_house` FOREIGN KEY (`ИздательÑтво`) REFERENCES `publishing_house` (`pb_house_id`),"
64 "CONSTRAINT `FK_main_type_of_publication` FOREIGN KEY (`Вид публикации`) REFERENCES `type_of_publication` (`type_of_pb_id`)"
65 ")");
66 if(query.exec()){
67
68 qDebug() << "Table main was created";
69 }
70 else{
71
72 error_create_table(query);
73 throw -1;
74 }
75}