Question

J'ai lu la documentation Greendao et je n'ai trouvé aucun indice sur un moyen d'être averti si, pour une raison quelconque, une mise à jour échoue pour une entité ...

La mise à jour (entité t) ne renvoie rien ni ne jette aucune erreur ...

Voilà donc un moyen de savoir si le processus de mise à jour a échoué?

merci.

Était-ce utile?

La solution

Si la mise à jour ne fonctionne pas, vous obtenez un sqlexception .Depuis SQLException extends [RuntimeException][2] it doesn't have to be handled and thus doesn't have to be declared withthrows`.

Les seules raisons de la mise à jour de la mise à jour, je peux penser pour le moment:

  • La clé primaire de votre objet de mise à jour est vide.
  • La clé principale de votre objectif de mise à jour n'est pas trouvée dans votre DB.
  • la mise à jour viole certaines contraintes (c'est-à-dire unique).
  • La base de données ou le système de fichiers est corrompu.

Donc normalement, si vous êtes sûr de ne pas violer les contraintes et si vous êtes prudent avec la clé primaire, vos mises à jour ne manqueront pas.

Si vous n'êtes pas sûr de pouvoir entourer votre mise à jour avec un bloc-catch-tract.

try {
    myEntityDao.update(myObj);
} catch (SQLException ex) {
    // handle the failure here
}

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top