s=QString("DELETE FROM Tiles WHERE tileID IN (SELECT A.tileID FROM SetTiles A JOIN SetTiles B ON A.tileID = B.tileID WHERE B.setID = %1 GROUP BY A.tileID HAVING COUNT(A.tileID) = 1)").arg(task->setID());
s=QString("DELETE FROM Tiles WHERE tileID IN (SELECT A.tileID FROM SetTiles A JOIN SetTiles B ON A.tileID = B.tileID WHERE B.setID = %1 GROUP BY A.tileID HAVING COUNT(A.tileID) = 1)").arg(id);
query.exec(s);
s=QString("DELETE FROM TilesDownload WHERE setID = %1").arg(task->setID());
s=QString("DELETE FROM TilesDownload WHERE setID = %1").arg(id);
query.exec(s);
s=QString("DELETE FROM TileSets WHERE setID = %1").arg(task->setID());
s=QString("DELETE FROM TileSets WHERE setID = %1").arg(id);
query.exec(s);
s=QString("DELETE FROM SetTiles WHERE setID = %1").arg(task->setID());
s=QString("DELETE FROM SetTiles WHERE setID = %1").arg(id);
task->setError("Error adding imported tile set to database");
break;
}else{
//-- Get just created (auto-incremented) setID
insertSetID=cQuery.lastInsertId().toULongLong();
}
}
//-- Find set tiles
QSqlQuerycQuery(*_db);
QSqlQuerysubQuery(*dbImport);
QStringsb=QString("SELECT * FROM Tiles WHERE tileID IN (SELECT A.tileID FROM SetTiles A JOIN SetTiles B ON A.tileID = B.tileID WHERE B.setID = %1 GROUP BY A.tileID HAVING COUNT(A.tileID) = 1)").arg(setID);
task->setError("Error adding imported tile set to database");
break;
}else{
//-- Get just created (auto-incremented) setID
insertSetID=cQuery.lastInsertId().toULongLong();
}
}
_db->commit();
//-- Update tile count
s=QString("SELECT COUNT(size) FROM Tiles A INNER JOIN SetTiles B on A.tileID = B.tileID WHERE B.setID = %1").arg(insertSetID);
if(cQuery.exec(s)){
if(cQuery.next()){
quint64count=cQuery.value(0).toULongLong();
s=QString("UPDATE TileSets SET numTiles = %1 WHERE setID = %2").arg(count).arg(insertSetID);
cQuery.exec(s);
//-- Find set tiles
QSqlQuerycQuery(*_db);
QSqlQuerysubQuery(*dbImport);
QStringsb=QString("SELECT * FROM Tiles WHERE tileID IN (SELECT A.tileID FROM SetTiles A JOIN SetTiles B ON A.tileID = B.tileID WHERE B.setID = %1 GROUP BY A.tileID HAVING COUNT(A.tileID) = 1)").arg(setID);