int PushDAO::add(const Push &push) { int insertId = -1; QSqlQuery sqlQuery(SQLConnection()); const QString query("INSERT INTO push (seqnum, pushdate, type, pushtime, extension, content, unread)" "VALUES(:seqnum, :pushdate, :type, :pushtime, :extension, :content, :unread)"); sqlQuery.prepare(query); sqlQuery.bindValue(":pushdate", push.pushDateAsString()); sqlQuery.bindValue(":type", push.contentType()); sqlQuery.bindValue(":pushtime", push.pushTime()); sqlQuery.bindValue(":extension", push.fileExtension()); sqlQuery.bindValue(":content", push.content().toBase64(), QSql::In | QSql::Binary); sqlQuery.bindValue(":unread", push.unread()); sqlQuery.exec(); const QSqlError err = sqlQuery.lastError(); if (err.isValid()) { qWarning() << "Error executing SQL statement: " << query << ". ERROR: " << err.text(); } else { if (sqlQuery.lastInsertId().isValid()) { insertId = sqlQuery.lastInsertId().toInt(); } } return insertId; }