Здравствуйте.
У меня есть база данных (на sqlite) состоящая из нескольких таблиц:
create table Spec(code_spec integer not null, code_spec_PNU integer unique not null, name_spec varchar(200) unique not null, name_spec_PNU varchar(200) unique not null, PRIMARY KEY(code_spec));
create table Circle(id_circle INTEGER PRIMARY KEY AUTOINCREMENT, name_circle varchar(15) unique not null);
create table Disc(id_disc INTEGER PRIMARY KEY AUTOINCREMENT, name_disc varchar(200) unique not null, id_circle references Circle on delete cascade on update cascade);
create table Norm (id_disc references Disc on delete cascade on update cascade, code_spec references Spec on delete cascade on update cascade, hours integer not null, PRIMARY KEY(id_disc, code_spec));
Самая важная для меня - таблица Norm. Нужно организовать такую форму работы с ней:
Для отображения используется
другая таблица, которая содержит в себе записи только для конкретного кода специальности. Таблица формируется так:
void MainWindow::on_comboBox_currentTextChanged(const QString &arg1)
{
QSqlQuery g;
g.exec("delete from Main");
g.prepare("INSERT INTO Main SELECT name_circle, name_disc, hours FROM Circle NATURAL JOIN Disc NATURAL JOIN Norm NATURAL JOIN Spec WHERE code_spec=?");
g.addBindValue(arg1);
g.exec();
MainModel->select();
}
Фактически пользователь работает именно с этой таблицей и записи добавляет в неё же. Поэтому мне нужно как-то новые добавленные записи обработать так, чтобы в моей таблице Norm появлялись новые записи.
Может мне кто-нибудь подсказать как это сделать?
Если что, тут можно скачать весь проект для creator'а:
https://github.com/Alendorff/DB_Lab6Надеюсь на вашу помощь, заранее спасибо.