· 7 years ago · Jan 21, 2019, 03:06 PM
1QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL", "egzamin");
2 db.setHostName("localhost");
3 db.setUserName("root");
4 db.setPassword("");
5 db.setDatabaseName("egzamin");
6 db.open();
7 QString sQuery = "CREATE TABLE IF NOT EXISTS `egzamin`.`Egzaminator` (`Id_prof` INT NOT NULL AUTO_INCREMENT,`Imię` VARCHAR(45) NOT NULL,`Nazwisko` VARCHAR(45) NOT NULL,`Login` VARCHAR(45) NOT NULL,`Hasło` VARCHAR(45) NOT NULL,`Kierunek` VARCHAR(45) NOT NULL,PRIMARY KEY (`Id_prof`))ENGINE = InnoDB;";
8 QString sQuery2 = "CREATE TABLE IF NOT EXISTS `egzamin`.`Przedmiot` (`idPrzedmiot` INT NOT NULL AUTO_INCREMENT,`Nazwa` VARCHAR(45) NOT NULL,`Egzaminator_Id_prof` INT NOT NULL,PRIMARY KEY (`idPrzedmiot`),INDEX `fk_Przedmiot_Egzaminator1_idx` (`Egzaminator_Id_prof` ASC),CONSTRAINT `fk_Przedmiot_Egzaminator1`FOREIGN KEY (`Egzaminator_Id_prof`)REFERENCES `egzamin`.`Egzaminator` (`Id_prof`)ON DELETE NO ACTION ON UPDATE NO ACTION)ENGINE = InnoDB;";
9 QString sQuery3 = "CREATE TABLE IF NOT EXISTS `egzamin`.`Tematy` (`idTematy` INT NOT NULL AUTO_INCREMENT,`Nazwa` VARCHAR(45) NOT NULL,`Przedmiot_idPrzedmiot` INT NOT NULL,PRIMARY KEY (`idTematy`),INDEX `fk_Tematy_Przedmiot1_idx` (`Przedmiot_idPrzedmiot` ASC),CONSTRAINT `fk_Tematy_Przedmiot1`FOREIGN KEY (`Przedmiot_idPrzedmiot`)REFERENCES `egzamin`.`Przedmiot` (`idPrzedmiot`) ON DELETE NO ACTION ON UPDATE NO ACTION)ENGINE = InnoDB;";
10 QString sQuery4 = "CREATE TABLE IF NOT EXISTS `egzamin`.`Wynikipytan` (`idWynikiPytan` INT NOT NULL,`Odp1` INT NULL,`Odp2` INT NULL,`Odp3` INT NULL,`Odp4` INT NULL,`Najtrudniejsze` INT NULL,PRIMARY KEY (`idWynikiPytan`)) ENGINE = InnoDB;";
11 QString sQuery5 = "CREATE TABLE IF NOT EXISTS `egzamin`.`Pytania` (`idPytania` INT NOT NULL AUTO_INCREMENT,`Pytanie` VARCHAR(255) NOT NULL,`Odpowiedz 1` VARCHAR(45) NOT NULL,`Odpowiedz 2` VARCHAR(45) NOT NULL,`Odpowiedz 3` VARCHAR(45) NULL,`Odpowiedz 4` VARCHAR(45) NULL,`Egzaminator_Id_prof` INT NOT NULL,`Tematy_idTematy` INT NOT NULL,`Wynikipytan_idWynikiPytan` INT NOT NULL,PRIMARY KEY (`idPytania`),INDEX `fk_Pytania_Egzaminator1_idx` (`Egzaminator_Id_prof` ASC),INDEX `fk_Pytania_Tematy1_idx` (`Tematy_idTematy` ASC),INDEX `fk_Pytania_Wynikipytan1_idx` (`Wynikipytan_idWynikiPytan` ASC),CONSTRAINT `fk_Pytania_Egzaminator1`FOREIGN KEY (`Egzaminator_Id_prof`)REFERENCES `egzamin`.`Egzaminator` (`Id_prof`)ON DELETE NO ACTIONON UPDATE NO ACTION,CONSTRAINT `fk_Pytania_Tematy1`FOREIGN KEY (`Tematy_idTematy`)REFERENCES `egzamin`.`Tematy` (`idTematy`)ON DELETE NO ACTIONON UPDATE NO ACTION,CONSTRAINT `fk_Pytania_Wynikipytan1`FOREIGN KEY (`Wynikipytan_idWynikiPytan`)REFERENCES `egzamin`.`Wynikipytan` (`idWynikiPytan`)ON DELETE NO ACTION ON UPDATE NO ACTION)ENGINE = InnoDB;";
12 QString sQuery6 = "CREATE TABLE IF NOT EXISTS `egzamin`.`Wyniki` (`idWyniki` INT NOT NULL AUTO_INCREMENT,`Ilość 5` INT NULL,`Ilość 4,5` INT NULL,`Ilość 4` INT NULL,`Ilość 3,5` INT NULL,`Ilość 3` INT NULL,`Ocena testu` DECIMAL NULL,`Wykonany` INT NULL,PRIMARY KEY (`idWyniki`))ENGINE = InnoDB;";
13 QString sQuery7 = "CREATE TABLE IF NOT EXISTS `egzamin`.`Test` (`idTest` INT NOT NULL AUTO_INCREMENT,`Nazwa` VARCHAR(45) NOT NULL,`Czas` INT NOT NULL,`5` INT NOT NULL,`4,5` INT NOT NULL,`4` INT NOT NULL,`3,5` INT NOT NULL,`3` INT NOT NULL,`Egzaminator_Id_prof` INT NOT NULL,`Wyniki_idWyniki` INT NOT NULL,`Tematy_idTematy` INT NOT NULL,PRIMARY KEY (`idTest`),INDEX `fk_Test_Egzaminator1_idx` (`Egzaminator_Id_prof` ASC),INDEX `fk_Test_Wyniki1_idx` (`Wyniki_idWyniki` ASC),INDEX `fk_Test_Tematy1_idx` (`Tematy_idTematy` ASC),CONSTRAINT `fk_Test_Egzaminator1`FOREIGN KEY (`Egzaminator_Id_prof`)REFERENCES `egzamin`.`Egzaminator` (`Id_prof`)ON DELETE NO ACTIONON UPDATE NO ACTION,CONSTRAINT `fk_Test_Wyniki1`FOREIGN KEY (`Wyniki_idWyniki`)REFERENCES `egzamin`.`Wyniki` (`idWyniki`)ON DELETE NO ACTIONON UPDATE NO ACTION,CONSTRAINT `fk_Test_Tematy1`FOREIGN KEY (`Tematy_idTematy`)REFERENCES `egzamin`.`Tematy` (`idTematy`)ON DELETE NO ACTIONON UPDATE NO ACTION)ENGINE = InnoDB;";
14 QSqlQuery qry;
15 qry.prepare(sQuery);
16 qry.exec();
17 qry.prepare(sQuery2);
18 qry.exec();
19 qry.prepare(sQuery3);
20 qry.exec();
21 qry.prepare(sQuery4);
22 qry.exec();
23 qry.prepare(sQuery5);
24 qry.exec();
25 qry.prepare(sQuery6);
26 qry.exec();
27 qry.prepare(sQuery7);
28 qry.exec();