bool CWizIndexBase::modifyMessageEx(const WIZMESSAGEDATA& data) { qDebug() << "modify message, id: " << data.nId; WIZMESSAGEDATA dataOld; messageFromId(data.nId, dataOld); CString strFormat = FormatUpdateSQLFormat(TABLE_NAME_WIZ_MESSAGE, FIELD_LIST_WIZ_MESSAGE_MODIFY, TABLE_KEY_WIZ_MESSAGE); CString strSQL; strSQL.Format(strFormat, data.nReadStatus, WizInt64ToStr(data.nVersion).utf16(), WizInt64ToStr(data.nId).utf16() ); if (!ExecSQL(strSQL)) return false; WIZMESSAGEDATA dataNew; messageFromId(data.nId, dataNew); if (!m_bUpdating) { emit messageModified(dataOld, dataNew); } return true; }
bool CWizDatabase::updateMessage(const WIZMESSAGEDATA& msg) { bool bRet = false; WIZMESSAGEDATA msgTemp; if (messageFromId(msg.nId, msgTemp)) { bRet = modifyMessageEx(msg); } else { bRet = createMessageEx(msg); } if (!bRet) { Q_EMIT updateError("Failed to update message: " + msg.title); } return bRet; }