ввел мьютекс на запросы SQL работает

This commit is contained in:
krivoshein
2024-11-28 10:19:07 +03:00
parent 1a08f9b6da
commit 988812a1cb
28 changed files with 240 additions and 264 deletions

Binary file not shown.

View File

@@ -99,3 +99,41 @@
958 3898 7544209781920716 CMakeFiles/InstructorsAndTrainees.dir/instructorsandtraineeswidget.cpp.obj 292dc993acccb16a 958 3898 7544209781920716 CMakeFiles/InstructorsAndTrainees.dir/instructorsandtraineeswidget.cpp.obj 292dc993acccb16a
3898 4288 7544209785868876 libInstructorsAndTrainees.dll df6929ab83dae889 3898 4288 7544209785868876 libInstructorsAndTrainees.dll df6929ab83dae889
3898 4288 7544209785868876 libInstructorsAndTrainees.dll.a df6929ab83dae889 3898 4288 7544209785868876 libInstructorsAndTrainees.dll.a df6929ab83dae889
8 397 0 CMakeFiles/InstructorsAndTrainees_autogen 325fc9931da2ad77
8 397 0 InstructorsAndTrainees_autogen/mocs_compilation.cpp 325fc9931da2ad77
8 397 0 InstructorsAndTrainees_autogen/include/ui_instructorsandtraineeswidget.h 325fc9931da2ad77
8 397 0 InstructorsAndTrainees_autogen/include/trainees/ui_editortrainees.h 325fc9931da2ad77
8 397 0 InstructorsAndTrainees_autogen/include/trainees/ui_dialogeditgroup.h 325fc9931da2ad77
8 397 0 InstructorsAndTrainees_autogen/include/trainees/ui_dialogedittrainee.h 325fc9931da2ad77
8 397 0 InstructorsAndTrainees_autogen/include/trainees/ui_viewertrainees.h 325fc9931da2ad77
8 397 0 InstructorsAndTrainees_autogen/include/instructors/ui_viewerinstructors.h 325fc9931da2ad77
8 397 0 InstructorsAndTrainees_autogen/include/instructors/ui_editorinstructors.h 325fc9931da2ad77
8 397 0 InstructorsAndTrainees_autogen/include/instructors/ui_dialogeditinstructor.h 325fc9931da2ad77
8 397 0 InstructorsAndTrainees_autogen/include/instructors/ui_dialogauthorizationinstructor.h 325fc9931da2ad77
8 397 0 InstructorsAndTrainees_autogen/include/tasks/ui_taskswidget.h 325fc9931da2ad77
8 397 0 InstructorsAndTrainees_autogen/include/docTasks/ui_doctaskswidget.h 325fc9931da2ad77
8 397 0 D:/LMS/DB_IaT/Debug64/CMakeFiles/InstructorsAndTrainees_autogen 325fc9931da2ad77
8 397 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/mocs_compilation.cpp 325fc9931da2ad77
8 397 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/ui_instructorsandtraineeswidget.h 325fc9931da2ad77
8 397 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_editortrainees.h 325fc9931da2ad77
8 397 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_dialogeditgroup.h 325fc9931da2ad77
8 397 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_dialogedittrainee.h 325fc9931da2ad77
8 397 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/trainees/ui_viewertrainees.h 325fc9931da2ad77
8 397 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_viewerinstructors.h 325fc9931da2ad77
8 397 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_editorinstructors.h 325fc9931da2ad77
8 397 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_dialogeditinstructor.h 325fc9931da2ad77
8 397 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/instructors/ui_dialogauthorizationinstructor.h 325fc9931da2ad77
8 397 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/tasks/ui_taskswidget.h 325fc9931da2ad77
8 397 0 D:/LMS/DB_IaT/Debug64/InstructorsAndTrainees_autogen/include/docTasks/ui_doctaskswidget.h 325fc9931da2ad77
423 1820 7544803823552242 CMakeFiles/InstructorsAndTrainees.dir/tasks/taskswidget.cpp.obj 42a4e1ce7a8816ef
413 1911 7544803824453090 CMakeFiles/InstructorsAndTrainees.dir/instructors/viewerinstructors.cpp.obj c43df6b375cdff7b
403 1945 7544803824786728 CMakeFiles/InstructorsAndTrainees.dir/commonview.cpp.obj 55d0b6fc5b3b11b4
407 2063 7544803825979335 CMakeFiles/InstructorsAndTrainees.dir/trainees/viewertrainees.cpp.obj 37aaa363a444660
416 2094 7544803826304048 CMakeFiles/InstructorsAndTrainees.dir/instructors/editorinstructors.cpp.obj 7d3ec639be3b100f
410 2095 7544803826294078 CMakeFiles/InstructorsAndTrainees.dir/trainees/traineesview.cpp.obj bf1e777c97db5d0b
419 2116 7544803826523763 CMakeFiles/InstructorsAndTrainees.dir/instructors/instructorsview.cpp.obj 39df8cbdac33ce35
398 2140 7544803826758076 CMakeFiles/InstructorsAndTrainees.dir/InstructorsAndTrainees_autogen/mocs_compilation.cpp.obj c76e9d885a71ec35
405 2254 7544803827889097 CMakeFiles/InstructorsAndTrainees.dir/trainees/editortrainees.cpp.obj 3c5f63b90320820c
400 2295 7544803828298319 CMakeFiles/InstructorsAndTrainees.dir/instructorsandtraineeswidget.cpp.obj 292dc993acccb16a
2295 2688 7544803832218011 libInstructorsAndTrainees.dll df6929ab83dae889
2295 2688 7544803832218011 libInstructorsAndTrainees.dll.a df6929ab83dae889

View File

@@ -1,35 +1,40 @@
# Generated by CMake. Changes will be overwritten. # Generated by CMake. Changes will be overwritten.
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/viewertrainees.cpp D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/viewerinstructors.cpp
uic:ui_viewertrainees.h uic:ui_viewerinstructors.h
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/traineesview.cpp D:/LMS/DB_IaT/InstructorsAndTrainees/docTasks/doctaskswidget.cpp
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/editortrainees.cpp uic:ui_doctaskswidget.h
uic:ui_editortrainees.h D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/instructorsview.cpp
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/dialogeditgroup.h
mmc:Q_OBJECT
uic:ui_dialogeditgroup.h
D:/LMS/DB_IaT/InstructorsAndTrainees/instructorsandtraineeswidget.h
mmc:Q_OBJECT
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/viewertrainees.h
mmc:Q_OBJECT
D:/LMS/DB_IaT/InstructorsAndTrainees/instructorsAndTrainees_global.h
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/instructorsview.h
mmc:Q_OBJECT
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/viewerinstructors.h
mmc:Q_OBJECT
D:/LMS/DB_IaT/InstructorsAndTrainees/docTasks/doctaskswidget.h
mmc:Q_OBJECT
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/dialogeditinstructor.h
mmc:Q_OBJECT
uic:ui_dialogeditinstructor.h
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/dialogauthorizationinstructor.h D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/dialogauthorizationinstructor.h
mmc:Q_OBJECT mmc:Q_OBJECT
uic:ui_dialogauthorizationinstructor.h uic:ui_dialogauthorizationinstructor.h
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/dialogeditinstructor.h
mmc:Q_OBJECT
uic:ui_dialogeditinstructor.h
D:/LMS/DB_IaT/InstructorsAndTrainees/docTasks/doctaskswidget.h
mmc:Q_OBJECT
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/viewerinstructors.h
mmc:Q_OBJECT
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/instructorsview.h
mmc:Q_OBJECT
D:/LMS/DB_IaT/InstructorsAndTrainees/instructorsAndTrainees_global.h
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/editorinstructors.h D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/editorinstructors.h
mmc:Q_OBJECT mmc:Q_OBJECT
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/dialogauthorizationinstructor.cpp D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/dialogauthorizationinstructor.cpp
uic:ui_dialogauthorizationinstructor.h uic:ui_dialogauthorizationinstructor.h
D:/LMS/DB_IaT/InstructorsAndTrainees/instructorsandtraineeswidget.cpp D:/LMS/DB_IaT/InstructorsAndTrainees/instructorsandtraineeswidget.cpp
uic:ui_instructorsandtraineeswidget.h uic:ui_instructorsandtraineeswidget.h
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/viewertrainees.h
mmc:Q_OBJECT
D:/LMS/DB_IaT/InstructorsAndTrainees/instructorsandtraineeswidget.h
mmc:Q_OBJECT
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/dialogeditgroup.h
mmc:Q_OBJECT
uic:ui_dialogeditgroup.h
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/editortrainees.cpp
uic:ui_editortrainees.h
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/traineesview.cpp
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/viewertrainees.cpp
uic:ui_viewertrainees.h
D:/LMS/DB_IaT/InstructorsAndTrainees/docTasks/module.h D:/LMS/DB_IaT/InstructorsAndTrainees/docTasks/module.h
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/computersLocations.h D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/computersLocations.h
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/editortrainees.h D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/editortrainees.h
@@ -40,6 +45,10 @@ D:/LMS/DB_IaT/InstructorsAndTrainees/tasks/taskswidget.h
mmc:Q_OBJECT mmc:Q_OBJECT
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/traineesview.h D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/traineesview.h
mmc:Q_OBJECT mmc:Q_OBJECT
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/editorinstructors.cpp
uic:ui_editorinstructors.h
D:/LMS/DB_IaT/InstructorsAndTrainees/tasks/taskswidget.cpp
uic:ui_taskswidget.h
D:/LMS/DB_IaT/InstructorsAndTrainees/commonview.cpp D:/LMS/DB_IaT/InstructorsAndTrainees/commonview.cpp
D:/LMS/DB_IaT/InstructorsAndTrainees/commonview.h D:/LMS/DB_IaT/InstructorsAndTrainees/commonview.h
mmc:Q_OBJECT mmc:Q_OBJECT
@@ -47,15 +56,6 @@ D:/LMS/DB_IaT/InstructorsAndTrainees/docTasks/module.cpp
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/dialogeditinstructor.cpp D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/dialogeditinstructor.cpp
uic:ui_dialogeditinstructor.h uic:ui_dialogeditinstructor.h
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/computersLocations.cpp D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/computersLocations.cpp
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/dialogeditgroup.cpp
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/dialogedittrainee.cpp D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/dialogedittrainee.cpp
uic:ui_dialogedittrainee.h uic:ui_dialogedittrainee.h
D:/LMS/DB_IaT/InstructorsAndTrainees/trainees/dialogeditgroup.cpp
D:/LMS/DB_IaT/InstructorsAndTrainees/tasks/taskswidget.cpp
uic:ui_taskswidget.h
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/editorinstructors.cpp
uic:ui_editorinstructors.h
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/instructorsview.cpp
D:/LMS/DB_IaT/InstructorsAndTrainees/docTasks/doctaskswidget.cpp
uic:ui_doctaskswidget.h
D:/LMS/DB_IaT/InstructorsAndTrainees/instructors/viewerinstructors.cpp
uic:ui_viewerinstructors.h

View File

@@ -18,23 +18,29 @@ DataBaseLMS::~DataBaseLMS()
bool DataBaseLMS::createConnection() bool DataBaseLMS::createConnection()
{ {
mtxAccess.lock();
db = new QSqlDatabase(QSqlDatabase::addDatabase(dbType)); db = new QSqlDatabase(QSqlDatabase::addDatabase(dbType));
db->setDatabaseName(dbName); db->setDatabaseName(dbName);
db->setUserName(dbUserName); db->setUserName(dbUserName);
db->setPassword(dbPassword); db->setPassword(dbPassword);
if(!db->open()) if(!db->open())
{ {
mtxAccess.unlock();
deleteConnection(); deleteConnection();
return false; return false;
} }
else else
{ {
mtxAccess.unlock();
return true; return true;
} }
} }
void DataBaseLMS::deleteConnection() void DataBaseLMS::deleteConnection()
{ {
mtxAccess.lock();
if(transactionBegined) if(transactionBegined)
QSqlDatabase::database().rollback(); QSqlDatabase::database().rollback();
@@ -46,17 +52,29 @@ void DataBaseLMS::deleteConnection()
delete db; delete db;
db = nullptr; db = nullptr;
} }
mtxAccess.unlock();
} }
bool DataBaseLMS::isConnected() bool DataBaseLMS::isConnected()
{ {
mtxAccess.lock();
if(db == nullptr) if(db == nullptr)
{
mtxAccess.unlock();
return false; return false;
}
else else
{ {
if(db->isOpen()) if(db->isOpen())
{
mtxAccess.unlock();
return true; return true;
} }
}
mtxAccess.unlock();
return false; return false;
} }
@@ -97,11 +115,7 @@ QList<Instructor> DataBaseLMS::selectAllInstructors()
QSqlQuery query = QSqlQuery(*db); QSqlQuery query = QSqlQuery(*db);
if(!query.exec(queryStr)) if(queryExec(queryStr, &query))
{
messageWarningErrorQuery(queryStr, &query);
}
else
{ {
while (query.next()) while (query.next())
{//Инструктор {//Инструктор
@@ -136,11 +150,7 @@ QList<Trainee> DataBaseLMS::selectAllTrainees()
QSqlQuery query = QSqlQuery(*db); QSqlQuery query = QSqlQuery(*db);
if(!query.exec(queryStr)) if(queryExec(queryStr, &query))
{
messageWarningErrorQuery(queryStr, &query);
}
else
{ {
while (query.next()) while (query.next())
{//Обучаемый {//Обучаемый
@@ -179,11 +189,7 @@ QList<Group> DataBaseLMS::selectAllGroups()
QSqlQuery query = QSqlQuery(*db); QSqlQuery query = QSqlQuery(*db);
if(!query.exec(queryStr)) if(queryExec(queryStr, &query))
{
messageWarningErrorQuery(queryStr, &query);
}
else
{ {
while (query.next()) while (query.next())
{//Группа {//Группа
@@ -209,11 +215,7 @@ Instructor DataBaseLMS::selectInstructor(int id_instructor)
QSqlQuery query = QSqlQuery(*db); QSqlQuery query = QSqlQuery(*db);
if(!query.exec(queryStr)) if(queryExec(queryStr, &query))
{
messageWarningErrorQuery(queryStr, &query);
}
else
{ {
if (query.first()) if (query.first())
{//Инструктор {//Инструктор
@@ -260,18 +262,7 @@ QString DataBaseLMS::selectInstructorNameByLogin(QString login)
"WHERE instructors.login = '%1' ").arg( "WHERE instructors.login = '%1' ").arg(
login ); login );
QSqlQuery query = QSqlQuery(*db); return queryExecString(queryStr);
if(!query.exec(queryStr))
{
messageWarningErrorQuery(queryStr, &query);
}
else
{
if(query.first())
return query.value(0).toString();
}
return QStringLiteral("");
} }
bool DataBaseLMS::selectInstructorIsAdmin(int id_instructor) bool DataBaseLMS::selectInstructorIsAdmin(int id_instructor)
@@ -281,18 +272,7 @@ bool DataBaseLMS::selectInstructorIsAdmin(int id_instructor)
"WHERE instructor_id = %1 ").arg( "WHERE instructor_id = %1 ").arg(
id_instructor ); id_instructor );
QSqlQuery query = QSqlQuery(*db); return queryExecBool(queryStr);
if(!query.exec(queryStr))
{
messageWarningErrorQuery(queryStr, &query);
}
else
{
if(query.first())
return query.value(0).toBool();
}
return false;
} }
bool DataBaseLMS::selectInstructorLoggedIn(int id_instructor) bool DataBaseLMS::selectInstructorLoggedIn(int id_instructor)
@@ -302,18 +282,7 @@ bool DataBaseLMS::selectInstructorLoggedIn(int id_instructor)
"WHERE instructor_id = %1 ").arg( "WHERE instructor_id = %1 ").arg(
id_instructor ); id_instructor );
QSqlQuery query = QSqlQuery(*db); return queryExecBool(queryStr);
if(!query.exec(queryStr))
{
messageWarningErrorQuery(queryStr, &query);
}
else
{
if(query.first())
return query.value(0).toBool();
}
return false;
} }
bool DataBaseLMS::selectInstructorArchived(int id_instructor) bool DataBaseLMS::selectInstructorArchived(int id_instructor)
@@ -323,18 +292,7 @@ bool DataBaseLMS::selectInstructorArchived(int id_instructor)
"WHERE instructor_id = %1 ").arg( "WHERE instructor_id = %1 ").arg(
id_instructor ); id_instructor );
QSqlQuery query = QSqlQuery(*db); return queryExecBool(queryStr);
if(!query.exec(queryStr))
{
messageWarningErrorQuery(queryStr, &query);
}
else
{
if(query.first())
return query.value(0).toBool();
}
return false;
} }
int DataBaseLMS::updateInstructorLoggedIn(int id_instructor, bool loggedIn) int DataBaseLMS::updateInstructorLoggedIn(int id_instructor, bool loggedIn)
@@ -357,15 +315,7 @@ bool DataBaseLMS::updateAllInstructorsLoggedIn(bool loggedIn)
QSqlQuery query = QSqlQuery(*db); QSqlQuery query = QSqlQuery(*db);
if(!query.exec(queryStr)) return queryExec(queryStr, &query);
{
messageWarningErrorQuery(queryStr, &query);
return false;
}
else
{
return true;
}
} }
int DataBaseLMS::updateInstructorArchived(int id_instructor, bool archived) int DataBaseLMS::updateInstructorArchived(int id_instructor, bool archived)
@@ -442,11 +392,7 @@ Group DataBaseLMS::selectGroup(int id_group)
QSqlQuery query = QSqlQuery(*db); QSqlQuery query = QSqlQuery(*db);
if(!query.exec(queryStr)) if(queryExec(queryStr, &query))
{
messageWarningErrorQuery(queryStr, &query);
}
else
{ {
if (query.first()) if (query.first())
{//Инструктор {//Инструктор
@@ -515,11 +461,7 @@ Trainee DataBaseLMS::selectTrainee(int id_trainee)
QSqlQuery query = QSqlQuery(*db); QSqlQuery query = QSqlQuery(*db);
if(!query.exec(queryStr)) if(queryExec(queryStr, &query))
{
messageWarningErrorQuery(queryStr, &query);
}
else
{ {
if (query.first()) if (query.first())
{//Инструктор {//Инструктор
@@ -561,11 +503,7 @@ QList<Trainee> DataBaseLMS::selectAllTraineesInGroup(int id_group)
QSqlQuery query = QSqlQuery(*db); QSqlQuery query = QSqlQuery(*db);
if(!query.exec(queryStr)) if(queryExec(queryStr, &query))
{
messageWarningErrorQuery(queryStr, &query);
}
else
{ {
while (query.next()) while (query.next())
{//Обучаемый {//Обучаемый
@@ -624,18 +562,7 @@ QString DataBaseLMS::selectTraineeNameByLogin(QString login)
"WHERE trainees.login = '%1' ").arg( "WHERE trainees.login = '%1' ").arg(
login ); login );
QSqlQuery query = QSqlQuery(*db); return queryExecString(queryStr);
if(!query.exec(queryStr))
{
messageWarningErrorQuery(queryStr, &query);
}
else
{
if(query.first())
return query.value(0).toString();
}
return QStringLiteral("");
} }
QString DataBaseLMS::selectTraineeNameOnComputer(QString computer_name) QString DataBaseLMS::selectTraineeNameOnComputer(QString computer_name)
@@ -645,18 +572,7 @@ QString DataBaseLMS::selectTraineeNameOnComputer(QString computer_name)
"WHERE computers.name = '%1' ").arg( "WHERE computers.name = '%1' ").arg(
computer_name); computer_name);
QSqlQuery query = QSqlQuery(*db); return queryExecString(queryStr);
if(!query.exec(queryStr))
{
messageWarningErrorQuery(queryStr, &query);
}
else
{
if(query.first())
return query.value(0).toString();
}
return QStringLiteral("");
} }
Trainee DataBaseLMS::selectTraineeOnComputer(QString computer_name) Trainee DataBaseLMS::selectTraineeOnComputer(QString computer_name)
@@ -675,11 +591,7 @@ Trainee DataBaseLMS::selectTraineeOnComputer(QString computer_name)
QSqlQuery query = QSqlQuery(*db); QSqlQuery query = QSqlQuery(*db);
if(!query.exec(queryStr)) if(queryExec(queryStr, &query))
{
messageWarningErrorQuery(queryStr, &query);
}
else
{ {
if (query.first()) if (query.first())
{//Инструктор {//Инструктор
@@ -711,18 +623,7 @@ bool DataBaseLMS::selectTraineeArchived(int id_trainee)
"WHERE trainee_id = %1 ").arg( "WHERE trainee_id = %1 ").arg(
id_trainee ); id_trainee );
QSqlQuery query = QSqlQuery(*db); return queryExecBool(queryStr);
if(!query.exec(queryStr))
{
messageWarningErrorQuery(queryStr, &query);
}
else
{
if(query.first())
return query.value(0).toBool();
}
return false;
} }
bool DataBaseLMS::selectTraineeLoggedIn(int id_trainee) bool DataBaseLMS::selectTraineeLoggedIn(int id_trainee)
@@ -732,18 +633,7 @@ bool DataBaseLMS::selectTraineeLoggedIn(int id_trainee)
"WHERE trainee_id = %1 ").arg( "WHERE trainee_id = %1 ").arg(
id_trainee ); id_trainee );
QSqlQuery query = QSqlQuery(*db); return queryExecBool(queryStr);
if(!query.exec(queryStr))
{
messageWarningErrorQuery(queryStr, &query);
}
else
{
if(query.first())
return query.value(0).toBool();
}
return false;
} }
int DataBaseLMS::updateTraineeLoggedIn(int id_trainee, bool loggedIn) int DataBaseLMS::updateTraineeLoggedIn(int id_trainee, bool loggedIn)
@@ -766,15 +656,7 @@ bool DataBaseLMS::updateAllTraineesLoggedIn(bool loggedIn)
QSqlQuery query = QSqlQuery(*db); QSqlQuery query = QSqlQuery(*db);
if(!query.exec(queryStr)) return queryExec(queryStr, &query);
{
messageWarningErrorQuery(queryStr, &query);
return false;
}
else
{
return true;
}
} }
int DataBaseLMS::updateTraineeArchived(int id_trainee, bool archived) int DataBaseLMS::updateTraineeArchived(int id_trainee, bool archived)
@@ -860,11 +742,7 @@ QList<Task> DataBaseLMS::selectTasksOfTrainee(int trainee_id)
QSqlQuery query = QSqlQuery(*db); QSqlQuery query = QSqlQuery(*db);
if(!query.exec(queryStr)) if(queryExec(queryStr, &query))
{
messageWarningErrorQuery(queryStr, &query);
}
else
{ {
while (query.next()) while (query.next())
{//Задача {//Задача
@@ -882,18 +760,49 @@ int DataBaseLMS::queryExecInt(QString queryStr)
{ {
QSqlQuery query = QSqlQuery(*db); QSqlQuery query = QSqlQuery(*db);
if(!query.exec(queryStr)) if(queryExec(queryStr, &query))
{
messageWarningErrorQuery(queryStr, &query);
return 0;
}
else
{ {
if(query.first()) if(query.first())
return query.value(0).toInt(); return query.value(0).toInt();
else }
return 0; return 0;
} }
QString DataBaseLMS::queryExecString(QString queryStr)
{
QSqlQuery query = QSqlQuery(*db);
if(queryExec(queryStr, &query))
{
if(query.first())
return query.value(0).toString();
}
return QStringLiteral("");
}
bool DataBaseLMS::queryExecBool(QString queryStr)
{
QSqlQuery query = QSqlQuery(*db);
if(queryExec(queryStr, &query))
{
if(query.first())
return query.value(0).toBool();
}
return false;
}
bool DataBaseLMS::queryExec(QString queryStr, QSqlQuery *query)
{
bool res = false;
mtxAccess.lock();
if(! (res = query->exec(queryStr)) )
messageWarningErrorQuery(queryStr, query);
mtxAccess.unlock();
return res;
} }
void DataBaseLMS::messageWarningErrorQuery(QString queryStr, QSqlQuery* query) void DataBaseLMS::messageWarningErrorQuery(QString queryStr, QSqlQuery* query)

View File

@@ -2,6 +2,7 @@
#define DATABASELMS_H #define DATABASELMS_H
#include <QSqlDatabase> #include <QSqlDatabase>
#include <QMutex>
#include "instructor.h" #include "instructor.h"
#include "trainee.h" #include "trainee.h"
@@ -73,6 +74,9 @@ protected:
private: private:
int queryExecInt(QString queryStr); int queryExecInt(QString queryStr);
QString queryExecString(QString queryStr);
bool queryExecBool(QString queryStr);
bool queryExec(QString queryStr, QSqlQuery* query);
void messageWarningErrorQuery(QString queryStr, QSqlQuery* query); void messageWarningErrorQuery(QString queryStr, QSqlQuery* query);
protected: protected:
@@ -83,6 +87,8 @@ private:
const QString dbUserName = "postgres"; const QString dbUserName = "postgres";
const QString dbPassword = "12345678"; const QString dbPassword = "12345678";
const QString dbType = "QPSQL"; const QString dbType = "QPSQL";
QMutex mtxAccess;
}; };
#endif // DATABASELMS_H #endif // DATABASELMS_H

Binary file not shown.

View File

@@ -35,3 +35,21 @@
344 2672 7544209718708559 CMakeFiles/DataBaseLMS.dir/databaselms.cpp.obj 202016fcb2dffc59 344 2672 7544209718708559 CMakeFiles/DataBaseLMS.dir/databaselms.cpp.obj 202016fcb2dffc59
2672 2870 7544209720691569 libDataBaseLMS.dll 31a19f1f3436f66b 2672 2870 7544209720691569 libDataBaseLMS.dll 31a19f1f3436f66b
2672 2870 7544209720691569 libDataBaseLMS.dll.a 31a19f1f3436f66b 2672 2870 7544209720691569 libDataBaseLMS.dll.a 31a19f1f3436f66b
8 56 0 CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
8 56 0 DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
8 56 0 D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
8 56 0 D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
57 1479 7544786167459428 CMakeFiles/DataBaseLMS.dir/DataBaseLMS_autogen/mocs_compilation.cpp.obj d9dc0a262f9d4ccd
62 1494 7544786167602927 CMakeFiles/DataBaseLMS.dir/interfacedatabaselms.cpp.obj d76eac97fda56f5b
59 2143 7544786174086822 CMakeFiles/DataBaseLMS.dir/databaselms.cpp.obj 202016fcb2dffc59
2143 2503 7544786177662749 libDataBaseLMS.dll 31a19f1f3436f66b
2143 2503 7544786177662749 libDataBaseLMS.dll.a 31a19f1f3436f66b
18 50 0 CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
18 50 0 DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
18 50 0 D:/LMS/DB_LMS/Debug64/CMakeFiles/DataBaseLMS_autogen b8e538c54fdbce20
18 50 0 D:/LMS/DB_LMS/Debug64/DataBaseLMS_autogen/mocs_compilation.cpp b8e538c54fdbce20
50 933 7544802863051051 CMakeFiles/DataBaseLMS.dir/DataBaseLMS_autogen/mocs_compilation.cpp.obj d9dc0a262f9d4ccd
55 1072 7544802864445622 CMakeFiles/DataBaseLMS.dir/interfacedatabaselms.cpp.obj d76eac97fda56f5b
53 2088 7544802874601830 CMakeFiles/DataBaseLMS.dir/databaselms.cpp.obj 202016fcb2dffc59
2089 2293 7544802876633844 libDataBaseLMS.dll 31a19f1f3436f66b
2089 2293 7544802876633844 libDataBaseLMS.dll.a 31a19f1f3436f66b

View File

@@ -1,23 +1,23 @@
# Generated by CMake. Changes will be overwritten. # Generated by CMake. Changes will be overwritten.
D:/LMS/DB_LMS/DataBaseLMS/user.cpp D:/LMS/DB_LMS/DataBaseLMS/databaselms.h
D:/LMS/DB_LMS/DataBaseLMS/trainee.cpp D:/LMS/DB_LMS/DataBaseLMS/computer.h
D:/LMS/DB_LMS/DataBaseLMS/interfacedatabaselms.cpp
D:/LMS/DB_LMS/DataBaseLMS/group.cpp
D:/LMS/DB_LMS/DataBaseLMS/databaselms.cpp
D:/LMS/DB_LMS/DataBaseLMS/DataBaseLMS_global.h
D:/LMS/DB_LMS/DataBaseLMS/user.h
D:/LMS/DB_LMS/DataBaseLMS/computer.cpp
D:/LMS/DB_LMS/DataBaseLMS/basicentity.h
D:/LMS/DB_LMS/DataBaseLMS/instructor.cpp D:/LMS/DB_LMS/DataBaseLMS/instructor.cpp
D:/LMS/DB_LMS/DataBaseLMS/classroom.h D:/LMS/DB_LMS/DataBaseLMS/classroom.h
D:/LMS/DB_LMS/DataBaseLMS/computer.h D:/LMS/DB_LMS/DataBaseLMS/basicentity.h
D:/LMS/DB_LMS/DataBaseLMS/databaselms.h D:/LMS/DB_LMS/DataBaseLMS/computer.cpp
D:/LMS/DB_LMS/DataBaseLMS/group.h D:/LMS/DB_LMS/DataBaseLMS/user.h
D:/LMS/DB_LMS/DataBaseLMS/basicentity.cpp
D:/LMS/DB_LMS/DataBaseLMS/trainee.cpp
D:/LMS/DB_LMS/DataBaseLMS/classroom.cpp
D:/LMS/DB_LMS/DataBaseLMS/task.h
D:/LMS/DB_LMS/DataBaseLMS/trainee.h
D:/LMS/DB_LMS/DataBaseLMS/instructor.h D:/LMS/DB_LMS/DataBaseLMS/instructor.h
D:/LMS/DB_LMS/DataBaseLMS/task.cpp D:/LMS/DB_LMS/DataBaseLMS/user.cpp
D:/LMS/DB_LMS/DataBaseLMS/interfacedatabaselms.cpp
D:/LMS/DB_LMS/DataBaseLMS/interfacedatabaselms.h D:/LMS/DB_LMS/DataBaseLMS/interfacedatabaselms.h
mmc:Q_OBJECT mmc:Q_OBJECT
D:/LMS/DB_LMS/DataBaseLMS/trainee.h D:/LMS/DB_LMS/DataBaseLMS/task.cpp
D:/LMS/DB_LMS/DataBaseLMS/basicentity.cpp D:/LMS/DB_LMS/DataBaseLMS/group.h
D:/LMS/DB_LMS/DataBaseLMS/task.h D:/LMS/DB_LMS/DataBaseLMS/group.cpp
D:/LMS/DB_LMS/DataBaseLMS/classroom.cpp D:/LMS/DB_LMS/DataBaseLMS/DataBaseLMS_global.h
D:/LMS/DB_LMS/DataBaseLMS/databaselms.cpp

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,53 +1,48 @@
# ninja log v5 # ninja log v5
63 3513 7544177314315660 CMakeFiles/ServerLMS.dir/Systems/sendsystem.cpp.obj 14cab83113898849
1066 1114 7537262824329908 D:/LMS/ServerLMS/Debug64/ServerLMS_autogen/EWIEGA46WW/qrc_resources.cpp 9bce64f5ef0262e2
725 2032 7542239075094081 CMakeFiles/ServerLMS.dir/Systems/logger.cpp.obj 221815863f31cd21
47 3500 7544177314186001 CMakeFiles/ServerLMS.dir/multithreadserver.cpp.obj dcabea84c2f6d917
6 36 0 D:/LMS/ServerLMS/Debug64/ServerLMS_autogen/include/ui_serverlmswidget.h a1ba014d73005738
56 3529 7544177314475227 CMakeFiles/ServerLMS.dir/Systems/dataparser.cpp.obj 51dcd51461a6b016
53 3744 7544177316595595 CMakeFiles/ServerLMS.dir/Systems/updatecontroller.cpp.obj 776415479484c26f
3 24 0 CMakeFiles/clean.additional 7155004b3956b606
738 1977 7542239074543431 CMakeFiles/ServerLMS.dir/Systems/tools.cpp.obj 34f4a0bc045a7588
3745 4218 7544177321342920 libServerLMS.dll 72d9d1ee4784dd54
50 3085 7544177310025479 CMakeFiles/ServerLMS.dir/Systems/recognizesystem.cpp.obj bbd7d88fa5ab3d77
37 3667 7544177315856522 CMakeFiles/ServerLMS.dir/ServerLMS_autogen/mocs_compilation.cpp.obj eb70d58e6f45eec0
6 36 0 D:/LMS/ServerLMS/Debug64/ServerLMS_autogen/include/ui_messangerwidget.h a1ba014d73005738
24 33 0 clean 9c4b4372737ab8da
1066 1114 7537262824329908 ServerLMS_autogen/EWIEGA46WW/qrc_resources.cpp 9bce64f5ef0262e2
59 2969 7544177308856349 CMakeFiles/ServerLMS.dir/Systems/processingsystem.cpp.obj 6b4c8466e478058e
6 36 0 D:/LMS/ServerLMS/Debug64/ServerLMS_autogen/mocs_compilation.cpp a1ba014d73005738
6 36 0 ServerLMS_autogen/include/ui_serverlmswidget.h a1ba014d73005738
1151 1220 7537262825399478 CMakeFiles/ServerLMS.dir/ServerLMS_autogen/EWIEGA46WW/qrc_resources.cpp.obj fa7a3cb9a2d99f6c
44 3465 7544177313825371 CMakeFiles/ServerLMS.dir/clienthandler.cpp.obj 34b9d8b027d1f720
6 36 0 ServerLMS_autogen/mocs_compilation.cpp a1ba014d73005738
42 1906 7544177298245971 CMakeFiles/ServerLMS.dir/messangerwidget.cpp.obj 789e376ca71a7e01
6 36 0 ServerLMS_autogen/include/ui_messangerwidget.h a1ba014d73005738
39 3511 7544177314285736 CMakeFiles/ServerLMS.dir/serverlmswidget.cpp.obj 7f4281861236c54a
6 36 0 D:/LMS/ServerLMS/Debug64/CMakeFiles/ServerLMS_autogen a1ba014d73005738
6 36 0 CMakeFiles/ServerLMS_autogen a1ba014d73005738
3745 4218 7544177321342920 libServerLMS.dll.a 72d9d1ee4784dd54
18 1057 0 CMakeFiles/ServerLMS_autogen a1ba014d73005738
18 1057 0 ServerLMS_autogen/mocs_compilation.cpp a1ba014d73005738
18 1057 0 ServerLMS_autogen/include/ui_serverlmswidget.h a1ba014d73005738
18 1057 0 ServerLMS_autogen/include/ui_messangerwidget.h a1ba014d73005738
18 1057 0 D:/LMS/ServerLMS/Debug64/CMakeFiles/ServerLMS_autogen a1ba014d73005738
18 1057 0 D:/LMS/ServerLMS/Debug64/ServerLMS_autogen/mocs_compilation.cpp a1ba014d73005738
18 1057 0 D:/LMS/ServerLMS/Debug64/ServerLMS_autogen/include/ui_serverlmswidget.h a1ba014d73005738
18 1057 0 D:/LMS/ServerLMS/Debug64/ServerLMS_autogen/include/ui_messangerwidget.h a1ba014d73005738 18 1057 0 D:/LMS/ServerLMS/Debug64/ServerLMS_autogen/include/ui_messangerwidget.h a1ba014d73005738
1057 1116 7544209827016857 ServerLMS_autogen/EWIEGA46WW/qrc_resources.cpp 9bce64f5ef0262e2
1057 1116 7544209827016857 D:/LMS/ServerLMS/Debug64/ServerLMS_autogen/EWIEGA46WW/qrc_resources.cpp 9bce64f5ef0262e2
1153 1225 7544209828118281 CMakeFiles/ServerLMS.dir/ServerLMS_autogen/EWIEGA46WW/qrc_resources.cpp.obj fa7a3cb9a2d99f6c
1135 2602 7544209841873585 CMakeFiles/ServerLMS.dir/Systems/logger.cpp.obj 221815863f31cd21
1149 2617 7544209842015891 CMakeFiles/ServerLMS.dir/Systems/tools.cpp.obj 34f4a0bc045a7588
1121 3382 7544209849665967 CMakeFiles/ServerLMS.dir/messangerwidget.cpp.obj 789e376ca71a7e01
1129 4833 7544209864174923 CMakeFiles/ServerLMS.dir/Systems/recognizesystem.cpp.obj bbd7d88fa5ab3d77
1132 4915 7544209864996261 CMakeFiles/ServerLMS.dir/Systems/updatecontroller.cpp.obj 776415479484c26f
1146 5082 7544209866664940 CMakeFiles/ServerLMS.dir/Systems/sendsystem.cpp.obj 14cab83113898849
1124 5125 7544209867095944 CMakeFiles/ServerLMS.dir/clienthandler.cpp.obj 34b9d8b027d1f720
1142 5137 7544209867225598 CMakeFiles/ServerLMS.dir/Systems/processingsystem.cpp.obj 6b4c8466e478058e
1139 5176 7544209867596206 CMakeFiles/ServerLMS.dir/Systems/dataparser.cpp.obj 51dcd51461a6b016
1119 5185 7544209867696353 CMakeFiles/ServerLMS.dir/serverlmswidget.cpp.obj 7f4281861236c54a
1116 5273 7544209868597318 CMakeFiles/ServerLMS.dir/ServerLMS_autogen/mocs_compilation.cpp.obj eb70d58e6f45eec0 1116 5273 7544209868597318 CMakeFiles/ServerLMS.dir/ServerLMS_autogen/mocs_compilation.cpp.obj eb70d58e6f45eec0
1126 5415 7544209869998338 CMakeFiles/ServerLMS.dir/multithreadserver.cpp.obj dcabea84c2f6d917 1129 4833 7544209864174923 CMakeFiles/ServerLMS.dir/Systems/recognizesystem.cpp.obj bbd7d88fa5ab3d77
5415 5889 7544209874728720 libServerLMS.dll 72d9d1ee4784dd54 5415 5889 7544209874728720 libServerLMS.dll 72d9d1ee4784dd54
3 24 0 CMakeFiles/clean.additional 7155004b3956b606
1132 4915 7544209864996261 CMakeFiles/ServerLMS.dir/Systems/updatecontroller.cpp.obj 776415479484c26f
1139 5176 7544209867596206 CMakeFiles/ServerLMS.dir/Systems/dataparser.cpp.obj 51dcd51461a6b016
1149 2617 7544209842015891 CMakeFiles/ServerLMS.dir/Systems/tools.cpp.obj 34f4a0bc045a7588
18 1057 0 D:/LMS/ServerLMS/Debug64/ServerLMS_autogen/include/ui_serverlmswidget.h a1ba014d73005738
1126 5415 7544209869998338 CMakeFiles/ServerLMS.dir/multithreadserver.cpp.obj dcabea84c2f6d917
1135 2602 7544209841873585 CMakeFiles/ServerLMS.dir/Systems/logger.cpp.obj 221815863f31cd21
1057 1116 7544209827016857 D:/LMS/ServerLMS/Debug64/ServerLMS_autogen/EWIEGA46WW/qrc_resources.cpp 9bce64f5ef0262e2
1146 5082 7544209866664940 CMakeFiles/ServerLMS.dir/Systems/sendsystem.cpp.obj 14cab83113898849
24 33 0 clean 9c4b4372737ab8da
5415 5889 7544209874728720 libServerLMS.dll.a 72d9d1ee4784dd54 5415 5889 7544209874728720 libServerLMS.dll.a 72d9d1ee4784dd54
18 1057 0 CMakeFiles/ServerLMS_autogen a1ba014d73005738
18 1057 0 D:/LMS/ServerLMS/Debug64/CMakeFiles/ServerLMS_autogen a1ba014d73005738
1119 5185 7544209867696353 CMakeFiles/ServerLMS.dir/serverlmswidget.cpp.obj 7f4281861236c54a
18 1057 0 ServerLMS_autogen/include/ui_messangerwidget.h a1ba014d73005738
1153 1225 7544209828118281 CMakeFiles/ServerLMS.dir/ServerLMS_autogen/EWIEGA46WW/qrc_resources.cpp.obj fa7a3cb9a2d99f6c
1121 3382 7544209849665967 CMakeFiles/ServerLMS.dir/messangerwidget.cpp.obj 789e376ca71a7e01
18 1057 0 ServerLMS_autogen/mocs_compilation.cpp a1ba014d73005738
1124 5125 7544209867095944 CMakeFiles/ServerLMS.dir/clienthandler.cpp.obj 34b9d8b027d1f720
18 1057 0 ServerLMS_autogen/include/ui_serverlmswidget.h a1ba014d73005738
18 1057 0 D:/LMS/ServerLMS/Debug64/ServerLMS_autogen/mocs_compilation.cpp a1ba014d73005738
1142 5137 7544209867225598 CMakeFiles/ServerLMS.dir/Systems/processingsystem.cpp.obj 6b4c8466e478058e
1057 1116 7544209827016857 ServerLMS_autogen/EWIEGA46WW/qrc_resources.cpp 9bce64f5ef0262e2
14 46 0 CMakeFiles/ServerLMS_autogen a1ba014d73005738
14 46 0 ServerLMS_autogen/mocs_compilation.cpp a1ba014d73005738
14 46 0 ServerLMS_autogen/include/ui_serverlmswidget.h a1ba014d73005738
14 46 0 ServerLMS_autogen/include/ui_messangerwidget.h a1ba014d73005738
14 46 0 D:/LMS/ServerLMS/Debug64/CMakeFiles/ServerLMS_autogen a1ba014d73005738
14 46 0 D:/LMS/ServerLMS/Debug64/ServerLMS_autogen/mocs_compilation.cpp a1ba014d73005738
14 46 0 D:/LMS/ServerLMS/Debug64/ServerLMS_autogen/include/ui_serverlmswidget.h a1ba014d73005738
14 46 0 D:/LMS/ServerLMS/Debug64/ServerLMS_autogen/include/ui_messangerwidget.h a1ba014d73005738
51 2051 7544803891621730 CMakeFiles/ServerLMS.dir/messangerwidget.cpp.obj 789e376ca71a7e01
67 3061 7544803901720801 CMakeFiles/ServerLMS.dir/Systems/processingsystem.cpp.obj 6b4c8466e478058e
56 3205 7544803903143413 CMakeFiles/ServerLMS.dir/multithreadserver.cpp.obj dcabea84c2f6d917
53 3359 7544803904674314 CMakeFiles/ServerLMS.dir/clienthandler.cpp.obj 34b9d8b027d1f720
70 3375 7544803904835274 CMakeFiles/ServerLMS.dir/Systems/sendsystem.cpp.obj 14cab83113898849
61 3417 7544803905183196 CMakeFiles/ServerLMS.dir/Systems/updatecontroller.cpp.obj 776415479484c26f
46 3439 7544803905498726 CMakeFiles/ServerLMS.dir/ServerLMS_autogen/mocs_compilation.cpp.obj eb70d58e6f45eec0
58 3440 7544803905508710 CMakeFiles/ServerLMS.dir/Systems/recognizesystem.cpp.obj bbd7d88fa5ab3d77
49 3576 7544803906861387 CMakeFiles/ServerLMS.dir/serverlmswidget.cpp.obj 7f4281861236c54a
64 3704 7544803908142867 CMakeFiles/ServerLMS.dir/Systems/dataparser.cpp.obj 51dcd51461a6b016
3704 4208 7544803913168184 libServerLMS.dll 72d9d1ee4784dd54
3704 4208 7544803913168184 libServerLMS.dll.a 72d9d1ee4784dd54

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -34,3 +34,13 @@
18 54 0 D:/LMS/TestServerLMS/Debug64/CMakeFiles/TestServerLMS_autogen 5989ad27e0bf1fd0 18 54 0 D:/LMS/TestServerLMS/Debug64/CMakeFiles/TestServerLMS_autogen 5989ad27e0bf1fd0
18 54 0 D:/LMS/TestServerLMS/Debug64/TestServerLMS_autogen/mocs_compilation.cpp 5989ad27e0bf1fd0 18 54 0 D:/LMS/TestServerLMS/Debug64/TestServerLMS_autogen/mocs_compilation.cpp 5989ad27e0bf1fd0
18 54 0 D:/LMS/TestServerLMS/Debug64/TestServerLMS_autogen/include/ui_mainwindow.h 5989ad27e0bf1fd0 18 54 0 D:/LMS/TestServerLMS/Debug64/TestServerLMS_autogen/include/ui_mainwindow.h 5989ad27e0bf1fd0
8 47 0 CMakeFiles/TestServerLMS_autogen 5989ad27e0bf1fd0
8 47 0 TestServerLMS_autogen/mocs_compilation.cpp 5989ad27e0bf1fd0
8 47 0 TestServerLMS_autogen/include/ui_mainwindow.h 5989ad27e0bf1fd0
8 47 0 D:/LMS/TestServerLMS/Debug64/CMakeFiles/TestServerLMS_autogen 5989ad27e0bf1fd0
8 47 0 D:/LMS/TestServerLMS/Debug64/TestServerLMS_autogen/mocs_compilation.cpp 5989ad27e0bf1fd0
8 47 0 D:/LMS/TestServerLMS/Debug64/TestServerLMS_autogen/include/ui_mainwindow.h 5989ad27e0bf1fd0
50 2251 7544804014503408 CMakeFiles/TestServerLMS.dir/main.cpp.obj 1bd2a04151a0ba14
47 2260 7544804014595305 CMakeFiles/TestServerLMS.dir/TestServerLMS_autogen/mocs_compilation.cpp.obj 4bc2eca6dcd8a69e
52 2391 7544804015892464 CMakeFiles/TestServerLMS.dir/mainwindow.cpp.obj 365b2bb39da65578
2391 2582 7544804017788729 TestServerLMS.exe 66dadfaf4d2d246e