BOOL TTrainSignInItem::Refresh() { BOOL ret = FALSE; if(strlen(TABLE_TRAINSIGNIN) == 0) return FALSE; if(strlen(sID.c_str()) == 0) return FALSE; sqlite3_stmt *stmt; CHAR sql[1024]; sql[0] = '\0'; sqlite3*db = CMDBHelper::GetInstance(1)->GetConnection(); if (db == NULL) return FALSE; snprintf(sql,1024,"SELECT * FROM %s WHERE id = ?", TABLE_TRAINSIGNIN); if (sqlite3_prepare_v2(db, sql, -1, &stmt, NULL) == SQLITE_OK) { BindParam(stmt, 1, sID.c_str()); int i = sqlite3_step(stmt); if (i == SQLITE_ROW) { fetchItem(stmt); ret = TRUE; } else if (i == SQLITE_DONE) { ret = TRUE; } else { if (i != SQLITE_DONE) { CM_ERRP("sqlite3_prepare_refresh %s failed.error:%s sid:%s", sql, sqlite3_errmsg(db),sID.c_str()); } } sqlite3_finalize(stmt); } else { CM_ERRP("sqlite3_step %s failed.error:%s", sql, sqlite3_errmsg(db)); } return ret; }
SearchWidget::SearchWidget( QWidget *parent ) : QWidget( parent ) { Akonadi::Control::widgetNeedsAkonadi( this ); QGridLayout *layout = new QGridLayout( this ); mQueryCombo = new KComboBox; mQueryWidget = new KTextEdit; mResultView = new QListView; mItemView = new KTextBrowser; QPushButton *button = new QPushButton( "Search" ); layout->addWidget( new QLabel( "Query:" ), 0, 0 ); layout->addWidget( mQueryCombo, 0, 1, Qt::AlignRight ); layout->addWidget( mQueryWidget, 1, 0, 1, 2 ); layout->addWidget( new QLabel( "Matching Item UIDs:" ), 2, 0 ); layout->addWidget( new QLabel( "View:" ), 2, 1 ); layout->addWidget( mResultView, 3, 0, 1, 1 ); layout->addWidget( mItemView, 3, 1, 1, 1 ); layout->addWidget( button, 4, 1, Qt::AlignRight ); mQueryCombo->addItem( "Empty" ); mQueryCombo->addItem( "Contacts by email address" ); mQueryCombo->addItem( "Contacts by name" ); mQueryCombo->addItem( "Email by From/Full Name" ); connect( button, SIGNAL(clicked()), this, SLOT(search()) ); connect( mQueryCombo, SIGNAL(activated(int)), this, SLOT(querySelected(int)) ); connect( mResultView, SIGNAL(activated(QModelIndex)), this, SLOT(fetchItem(QModelIndex)) ); mResultModel = new QStringListModel( this ); mResultView->setModel( mResultModel ); }