Autore Topic: da Cursor a String  (Letto 828 volte)

Offline davidino81

  • Utente junior
  • **
  • Post: 66
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    htc one v
  • Sistema operativo:
    Windows 7
da Cursor a String
« il: 01 Dicembre 2012, 23:32:21 CET »
0
Ciao a tutti!
Ho un DB formato da 2 colonne: "_id"   e  "parola" , questa parte del DBHelper dovrebbe:
-prendere la colonna "parola"
-contare gli elementi
-sceglierne uno a caso
-estrarre quell'elemento nel cursore d, che sara una stringa perché gli elementi di parola sono TEXT
-trasforma in una string e ritornarlo.

Sembra che funzioni tutto bene ma ottengo come stringa di uscita: android.database.sqlite.SQLiteCursor@45f5a358

Probabilmente il metodo Cursor.toString() non si usa come lo uso io!
Sono sicuro che il cursore è giusto perché ho provato altri metodi e  funziona es Cursor.getColumnNames()
Mi potete aiutare ?


Codice (Java): [Seleziona]
public String ritorna(int n){
               
               
       
                Cursor c = myDataBase.rawQuery("SELECT parola FROM parole_"+n+"", null);
                int num = c.getCount();
                int pos = (int) (Math.random()*num);
                if (pos==0){
                        pos=1;                                 
                }
                c.close();
               
                Cursor d = myDataBase.rawQuery("SELECT parola  FROM parole_"+n+" WHERE _id = "+pos+"" , null);
               
                myDataBase.close();
               
               
               
               
               
                parola = d.toString();
                d.close();
               
                return parola;

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +507
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:da Cursor a String
« Risposta #1 il: 01 Dicembre 2012, 23:47:04 CET »
0
Io farei una cosa del genere:

Codice (Java): [Seleziona]
public String ritorna(int n){
        Cursor c = myDataBase.rawQuery("SELECT parola FROM parole_"+n+" ORDER BY RANDOM() LIMIT 1", null);
        c.moveToFirst();

        String parola = c.getString(0);
        c.close();

        return parola;
}
« Ultima modifica: 01 Dicembre 2012, 23:56:22 CET da Ricky` »

Offline davidino81

  • Utente junior
  • **
  • Post: 66
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    htc one v
  • Sistema operativo:
    Windows 7
Re:da Cursor a String
« Risposta #2 il: 01 Dicembre 2012, 23:58:26 CET »
0
Grazie mille !
erano 3 ore che ci litigavo !!