Correct SQL Delete Trainee query

This commit is contained in:
2025-11-20 15:29:51 +03:00
parent 08664989b9
commit 15eade2363
4 changed files with 55 additions and 7 deletions

View File

@@ -261,6 +261,39 @@ int DataBaseLMS::deleteTrainee(int id_trainee)
//Удаление задач AMM
/*Выборка задач AMM для этого обучаемого*/
queryStr = QString("SELECT tasks_amm.task_id "
"FROM public.tasks_amm "
"WHERE tasks_amm.fk_trainee_id = %1 "
"ORDER BY tasks_amm.task_id ASC").arg(
id_trainee);
QSqlQuery queryTasksAMMSEL = QSqlQuery(*db);
if(queryExec(queryStr, &queryTasksAMMSEL))
{
while (queryTasksAMMSEL.next())
{//Задача
int task_id = queryTasksAMMSEL.value(0).toInt();
queryStr = QString("DELETE FROM public.subprocs "
"WHERE fk_task_amm_id = %1 ").arg(
QString::number(task_id));
QSqlQuery querySubProcDEL = QSqlQuery(*db);
if(!queryExec(queryStr, &querySubProcDEL))
{
resBool = db->rollback();
return 0;
}
}
}
else
{
resBool = db->rollback();
return 0;
}
queryStr = QString("DELETE FROM public.tasks_amm "
"WHERE fk_trainee_id = %1 ").arg(
QString::number(id_trainee));