Domanda

Ho letto la documentazione Greendao e non ho trovato alcun indizio su un modo per essere avvisato se, per qualche motivo, un aggiornamento fallisce per un'entità ...

L'aggiornamento (entità) non ritorna nulla né getta alcun errore ...

Quindi c'è un modo per sapere se il processo di aggiornamento è fallito?

Grazie.

È stato utile?

Soluzione

Se l'aggiornamento non funziona, stai ricevendo un sqlexception .Dal momento che SQLException extends [RuntimeException][2] it doesn't have to be handled and thus doesn't have to be declared withthrows`

Le uniche ragioni per l'aggiornamentoFailure che posso pensare al momento:

    .
  • La chiave primaria nel tuo oggetto di aggiornamento è vuota.
  • La chiave primaria del tuo oggetto di aggiornamento non viene trovato nel tuo DB.
  • L'aggiornamento viola alcuni vincoli (I.E. UNICO).
  • Il database o il filesystem è danneggiato.

Così normalmente, se sei sicuro di non violare i vincoli e se stai attento con la chiave primaria, i tuoi aggiornamenti non riusciranno.

Se non sei sicuro di poter circondare il tuo aggiornamento con il blocco try-catch.

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top