void update(QSqlDatabase* db, Tag& tag) { QSqlQuery q(*db); QSqlRecord r; if(!QItem::isExists(db, "tags", "guid", QString::fromStdString(tag.guid), r)) { r = QItem::load(db, "tags", "name", QString::fromUtf8(tag.name.c_str())); if(!r.isEmpty()) { tag.name = QItem::resolveConflict(db, r, QString::fromStdString(tag.guid), DELETE_ITEM("tags", "guid", QString::fromStdString(tag.guid)), tag.name); } q.prepare(INSERT_TAG(tag.guid, tag.name, tag.parentGuid, tag.updateSequenceNum)); } else if(r.value("updateSequenceNum").toInt() < tag.updateSequenceNum) { qDebug() << r.value("updateSequenceNum").toInt() << r; // update tag q.prepare(UPDATE_TAG(tag.guid, tag.name, tag.parentGuid, tag.updateSequenceNum)); } else return; QItem::executeQuery(q); }
void TREE_KERNEL::SLOT_DELETE_ITEM() { QTreeWidgetItem * item = m_tree_widget->currentItem(); QStringList column_datas; column_datas = GET_COLUMN_DATAS_FROM_ITEM(item); if ( CHECK_DELETE_ITEM( column_datas ) EQ ADAK_OK) { DELETE_ITEM( column_datas ); m_last_deleted_item_parent = item->parent(); int item_index = m_tree_widget->indexOfTopLevelItem(item); m_tree_widget->takeTopLevelItem(item_index); delete item; } }
void remove(QSqlDatabase* db, Guid guid) { QSqlQuery q(*db); q.prepare(DELETE_ITEM("tags", "guid", guid.c_str())); QItem::executeQuery(q); }