/*! * \brief aktuelle Sommerzeit aus der Datenbank lesen */ QStringList HardwareKonfiguration::getSommertime(){ // Sommerzeit ein/aus Datum aus Datenbank holen QStringList list; QString streckenkey_str = ui.streckenTreeWidget->currentItem()->data(3,Qt::DisplayRole).toString(); QSqlQuery query; query.exec("SELECT Startdatum FROM strecken WHERE StreckenKey='" + streckenkey_str + "'"); query.next(); int year = query.value(0).toDate().year(); int month = query.value(0).toDate().month(); qDebug() << year << " " << month; query.exec("SELECT sommerzeit, winterzeit FROM sommerzeit WHERE jahr='" + QString::number(year) + "' OR jahr='" + QString::number(year+1) + "'"); query.next(); // Sommerzeitwechsel schreiben if(month>3){ // März ist vorbei, Sommerzeit vom nächsten Jahr schreiben query.next(); list.append(query.value(0).toString()); query.previous(); }else{ // März ist noch nicht vorbei list.append(query.value(0).toString()); } // Winterzeitwechsel schreiben if(month>10){ // Oktober ist vorbei, Sommerzeit vom nächsten Jahr schreiben query.next(); list.append(query.value(0).toString()); query.previous(); }else{ // Oktober ist noch nicht vorbei list.append(query.value(0).toString()); } return list; }
// скачивание почты bool TMonitoring::getMessage(const QString& id, const QString& username, const QString& password) { if (!connectToHost(id, username, password)) return false; //-------получаем список ящиков для аккаунта---------// listMailBox = imap.list(); //----------проверяем на наличие новых папок в ящике. Если появились новые папки добавляем их в базу-----------// //if (!checkNewFolder(id, listMailBox)) // qDebug() << "folder not checked"; // получаем последний uid сообщения. Если такого нет, значит в базе нет ни одного сообщения с аккаунта QSqlQuery query; QString cmd = "SELECT uid FROM headers WHERE accountId = " + currentAccountId + " ORDER BY uid DESC"; bool res = query.exec(cmd); if (!query.next()) lastMsgUid = NO_MSG_IN_FOLDER; // в базе нет почтовых сообщений для этого ящика else { // получаем uid последнего скачанного сообщения в базе для текущего ящика query.previous(); lastMsgUid = query.value(0).toInt(); } //================проходим по каждой папке, получаем сообщения и записываем их в базу =================================================================================// foreach (QString box, listMailBox) { parse_folder(box); }
void XxxForm::previousAction(void) { qDebug() << "pre"; QSqlQuery query = xXxModel->query(); if (!query.previous()) return; int idCol = query.record().indexOf("id"); if (query.next()) { xXxModel->setId(query.value(idCol).toInt()); qDebug() << "pre>>" << xXxModel->getId(); } select(); int begin = xXxModel->begin(); int sizeAll = xXxModel->count(); int size = xXxModel->query().size(); nextPushButton->setEnabled(begin > 0); previousPushButton->setEnabled(sizeAll > (size + begin)); }