Autore Topic: recupero di un valore da db  (Letto 426 volte)

Offline cadupper

  • Utente junior
  • **
  • Post: 81
  • Respect: 0
    • cadupper
    • Mostra profilo
  • Dispositivo Android:
    HTC Magic Tim (32A)
  • Play Store ID:
    cadupper
  • Sistema operativo:
    Ubuntu 10.04
recupero di un valore da db
« il: 31 Maggio 2011, 13:36:45 CEST »
0
Ho un problema: praticamente voglio ricavare il valore delle colonna peoTotExp di una riga.
Faccio questo:
Codice (Java): [Seleziona]
Cursor c= mDb.query(peoTable, new String[] {peoTotExp}, peoPartic + " like" + "'%" + event + "%'", null, null, null, null);
               

Se non sbaglio in questo modo scelgo l'unica colonna che mi interessa (peoTotExp), faccio una selezione in modo da prendere solo la riga con peoPartic = event. Quindi in teoria adesso nel cursore ritornato dovrei avere solamente un valore...
Quindi faccio
Codice (Java): [Seleziona]
double totExp=c.getDouble(0); perchè il valore contenuto è un double e la colonna è una sola perchè per ottenere il cursor ho detto che mi ritornasse solo una colonna quindi metto 0 come indice della colonna.
A questo punto viene lanciato questo errore:
Codice: [Seleziona]
Caused by: android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 4
E/AndroidRuntime( 8747):         at android.database.AbstractCursor.checkPosition(AbstractCursor.java:580)
E/AndroidRuntime( 8747):         at android.database.AbstractWindowedCursor.checkPosition(AbstractWindowedCursor.java:214)
E/AndroidRuntime( 8747):         at android.database.AbstractWindowedCursor.getDouble(AbstractWindowedCursor.java:129)


Avete idea di come risolvere? ciao ! :-)

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +507
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:recupero di un valore da db
« Risposta #1 il: 31 Maggio 2011, 17:05:42 CEST »
0
Ti devi spostare sulla prima posizione del cursore con il metodo moveToFirst. Di default non lo fa automaticamente.