void ZhscWidget::bookmark() { QString tmp; Bookmark bm; QString dynasty, poet, poem; bml.clear(); QString sq2 = "select * from tsc"; QSqlQuery query2( sq2 ); if ( bConStatus ) { QString sq1 = "select dynastyno, poetno, poemno from bookmark order by id"; QSqlQuery query1( sq1 ); if ( query1.size() > 0 ) { while ( query1.next() ) { dynasty = query1.value(0).toString(); poet = query1.value(1).toString(); poem = query1.value(2).toString(); bm.dynastyno = dynasty; bm.poetno = poet; bm.poemno = poem; sq2 = "select dynasty, poet, caption from tsc where dynastyno = '" + dynasty + "' and poetno = '" + poet + "' and poemno = '" + poem + "'"; query2.exec( sq2 ); if ( query2.size() > 0 ) { if ( query2.next() ) { tmp = trUtf8( query2.value(0).toByteArray() ) + "-" + trUtf8( query2.value(1).toByteArray() ) + "-" + trUtf8( query2.value(2).toByteArray() ); bm.content = tmp; bml.append( bm ); } } } } emit bookmarkChanged( bml ); } }
void Logbook::addBookmark(const QString &title, const QString &url, const linkItemId &bookmarkItemId) { QDEBUG_EXP("Logbook::addBookmark()", "title: " << title << " url: " << url << " id: " << bookmarkItemId); if ( bookmarkItemId != LINK_ITEM_ID_UNDEFINED ) { // Update Bookmark QDEBUG_EXP("Logbook::addBookmark()", "Provided Bookmark Id -> Updating"); m_query.prepare(UPDATE_BOOKMARK_SQL_BY_ID); m_query.bindValue(0, url); m_query.bindValue(1, title); m_query.bindValue(2, bookmarkItemId); } else { // Insert Bookmark, or Update it if ( NULL != getBookmark(url) ) { QDEBUG_EXP("Logbook::addBookmark()", "Updating Bookmark"); m_query.prepare(UPDATE_BOOKMARK_SQL_BY_URL); m_query.bindValue(0, title); m_query.bindValue(1, url); } else { QDEBUG_EXP("Logbook::addBookmark()", "Inserting Bookmark"); m_query.prepare(INSERT_BOOKMARK_SQL); m_query.bindValue(0, url); m_query.bindValue(1, title); } } // Let's query! if ( !m_query.exec() ) { QWARNING_EXP("Logbook::addBookmark()", "Query exec error: " << m_query.lastError().text() << " Query: " << m_query.lastQuery()); } else { emit bookmarkChanged( getBookmark(url)->id ); } }