QMutexLocker

This commit is contained in:
2025-08-13 10:50:55 +03:00
parent 7466e33599
commit 93fe4a94b2
4 changed files with 69 additions and 80 deletions

View File

@@ -24,8 +24,6 @@ DataBaseLMS::~DataBaseLMS()
bool DataBaseLMS::createConnection()
{
mtxAccess.lock();
dbSettings = getDataBaseSettings();
dbSettings.connectionName = "Connection_" + dbSettings.dbName;
@@ -41,7 +39,6 @@ bool DataBaseLMS::createConnection()
if(!res)
{
mtxAccess.unlock();
deleteConnection();
return false;
}
@@ -49,15 +46,12 @@ bool DataBaseLMS::createConnection()
{
bool flHas = db->driver()->hasFeature(QSqlDriver::Transactions);
qDebug() << "db->driver()->hasFeature(QSqlDriver::Transactions): " << flHas;
mtxAccess.unlock();
return true;
}
}
void DataBaseLMS::deleteConnection()
{
mtxAccess.lock();
if(transactionBegined)
QSqlDatabase::database().rollback();
@@ -69,29 +63,21 @@ void DataBaseLMS::deleteConnection()
delete db;
db = nullptr;
}
mtxAccess.unlock();
}
bool DataBaseLMS::isConnected()
{
mtxAccess.lock();
if(db == nullptr)
{
mtxAccess.unlock();
return false;
}
else
{
if(db->isOpen())
{
mtxAccess.unlock();
return true;
}
}
mtxAccess.unlock();
return false;
}
@@ -153,33 +139,6 @@ DataBaseSettings DataBaseLMS::getDataBaseSettings()
return settings;
}
bool DataBaseLMS::transactionBegin()
{
/*
if(transactionBegined)
{//Отмена предыдущей незаконченной
if(QSqlDatabase::database().rollback())
transactionBegined = false;
else
return false;
}
return (transactionBegined = QSqlDatabase::database().transaction());
*/
return true;
}
bool DataBaseLMS::transactionEnd()
{
/*
if(transactionBegined)
{
return !(transactionBegined = !QSqlDatabase::database().commit());
}
return false;
*/
return true;
}
int DataBaseLMS::queryExecInt(QString queryStr)
{
QSqlQuery query = QSqlQuery(*db);
@@ -222,10 +181,8 @@ bool DataBaseLMS::queryExecBool(QString queryStr)
bool DataBaseLMS::queryExec(QString queryStr, QSqlQuery *query)
{
bool res = false;
mtxAccess.lock();
if(! (res = query->exec(queryStr)) )
messageWarningErrorQuery(queryStr, query);
mtxAccess.unlock();
return res;
}