Autore Topic: Prelevare index tramite cursor  (Letto 506 volte)

Offline MrKrabs

  • Utente junior
  • **
  • Post: 94
  • Respect: +4
    • Mostra profilo
Prelevare index tramite cursor
« il: 14 Febbraio 2011, 15:15:31 CET »
0
Ciao a tutti,
avrei necessità di passare un indice (index)
Codice (Java): [Seleziona]
String selec = "Select name from colori where not name=\"null\"";
Cursor cur2 = db.mDb.rawQuery(selec, null);
questa query preleva dal database i colori cosi:
giallo
rosso
blu
verde

ora se volessi che il cursor mi indicasse l'index riferito al colore blu?
stavo provando qualcosa del genere
Codice (Java): [Seleziona]
cur2.getColumnIndex(MyDatabase.ProductsMetaData.COLORE_NAME_KEY)ma ho bisogno di avere l'indice per uno specifico colore...

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +507
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Prelevare index tramite cursor
« Risposta #1 il: 14 Febbraio 2011, 15:17:54 CET »
0
Devi cambiare anche la query sql ovviamente.

Offline MrKrabs

  • Utente junior
  • **
  • Post: 94
  • Respect: +4
    • Mostra profilo
Re:Prelevare index tramite cursor
« Risposta #2 il: 14 Febbraio 2011, 15:59:38 CET »
0
Cambiando però la query in questo modo
Codice (Java): [Seleziona]
String selec = "Select name from colori where name=\"blu\"";avrò sempre che l'indice sarà 1 perchè dalla query ottengo solo una riga...dimmi se sbaglio?!? :-[

Nella query di prima, ottenevo  tutti i colori e poi volevo conoscere l'index di un particolare colore(ad esempio il blu).
Cioè nel caso in cui la query dia
giallo
rosso
blu
verde

vorrei che l'indice ritornato sia 3

Offline Pinabello

  • Nuovo arrivato
  • *
  • Post: 22
  • Respect: +12
    • Mostra profilo
  • Dispositivo Android:
    Htc Dream Tim
  • Sistema operativo:
    Mac os X
Re:Prelevare index tramite cursor
« Risposta #3 il: 15 Febbraio 2011, 11:24:50 CET »
0
Ti configlio, se non esiste già, di aggiungere una colonna :

_ID INTEGER PRIMARY KEY

alla tabella e di ritornarla nella query.

Offline MrKrabs

  • Utente junior
  • **
  • Post: 94
  • Respect: +4
    • Mostra profilo
Re:Prelevare index tramite cursor
« Risposta #4 il: 15 Febbraio 2011, 11:30:45 CET »
0
ti ringrazio per aver risposto...
però alla fine ho risolto...riesco a prelevare la posizione in base al valore del campo.
posto il codice nel caso possa essere utile a qualcun'altro...

Codice (Java): [Seleziona]
for (int i = 0; i < spinner.getCount(); i++) {
            cursor = (Cursor) spinner.getItemAtPosition(i);
            String id = cursor.getString(cursor.getColumnIndex("name"));
            if (id.equals("blu")) {
                spinner.setSelection(i);
            }
        }