QString QcepObject::scriptValueLiteral(QVariant v) { if (v.type() == QMetaType::QString) { return "\"" + addSlashes(v.toString()) + "\""; } else { return v.toString(); } }
insertError NutshSqlSaver::inserer(NutshMetaData meta) { //completion des metadata, pour la date. QSqlQuery requete; QString query; /* ---- complete une métadonnée si certains champs sont vide ----*/ this->completeMetaData(meta); if(!meta.isValid()) { return CantDecodeTag; } if(meta.getArtiste().isEmpty()) { meta.setArtiste(QObject::tr("Sans artiste")); } if(meta.getAlbum().isEmpty()) { meta.setAlbum(QObject::tr("Sans album")); } if(meta.getTitre().isEmpty()) { meta.setTitre(QObject::tr("Sans titre")); } if(meta.getDate().isEmpty()) { meta.setDate(QObject::tr("Sans Date")); } if(meta.getGenre().isEmpty()) { meta.setGenre(QObject::tr("Sans genre")); } if(meta.getDescription().isEmpty()) { meta.setDescription(" "); } query = QString("INSERT INTO bibliotheque (artiste, album, titre, date, genre, description, track, chemin, duree, enregistrement, derniereLecture, compteur) VALUES(\"%1\", \"%2\", \"%3\", \"\", \"%4\", \"%5\", \"\", \"%6\", \"%7\", \"%8\", \"\", \"%9\")") .arg(addSlashes(meta.getArtiste())) .arg(addSlashes(meta.getAlbum())) .arg(addSlashes(meta.getTitre())) .arg(meta.getGenre()) .arg(addSlashes(meta.getDescription())) .arg(addSlashes(meta.getChemin())) .arg(meta.getDuree()) .arg(meta.getDateEnregistrement().toString()) .arg(meta.getCompteur() ); //execution de la requete if(!metadatas.contains(QString(meta.getArtiste()+meta.getAlbum()+meta.getTitre())) || meta.isDefault()) {// vérifie si la métadonnée n'existe pas déjà if(!requete.exec(query)) { qDebug() << requete.lastError() << " \nQ= " << requete.lastQuery() << " ou alors la metadonnee existe deja dans la table"; return SqlError; } metadatas.append(meta.getArtiste()+meta.getAlbum()+meta.getTitre()); } else { return AlreadyExists; } return NoError; }