vebbiii Skrevet 2. oktober 2012 Del Skrevet 2. oktober 2012 (endret) Jeg har en android app med en database klasse for SQLite. I den klassen har jeg en metode som skal returnere en ArrayList bestående av Quiz(som er en bønneklasse) objekter. Problemet er rett og slett at koden slutter å kjøre når jeg kaller cursor.getString(0) metoden. Altså, ingen feilmelding eller noe som helst, koden bare slutter å kjøre. Jeg skjønner ingenting.. Jeg har en metode for insert, som fungerer fint, og jeg har en metode for getQuiz, som skal returnere data som inneholder en bestemt tittel. Her er klassen som ikke fungerer: public List<Quiz> getAllQuizes(){ List<Quiz> quizList = new ArrayList<Quiz>(); try{ String selectQuery = "SELECT title FROM " + TABLE_NAME; SQLiteDatabase db = this.getWritableDatabase(); Cursor cursor = db.rawQuery(selectQuery, null); Quiz quiz = new Quiz(); Log.d("n", "test6"); //Denne fungerer Log.d("n", cursor.getString(0)); //Her slutter koden å fungere Log.d("n", "test5"); //Dette blir ikke skrevet ut if(cursor.moveToFirst()){ do{ quiz.setTitle(cursor.getString(0)); quizList.add(quiz); }while(cursor.moveToNext()); } db.close(); }catch(Exception e){ e.getMessage(); } return quizList; } Og denne fungerer fint: public List<Quiz> getQuiz(String quizTitle){ List<Quiz> quizList = new ArrayList<Quiz>(); String selectQuery = "SELECT question, answer, a1, a2, a3, a4 FROM " + TABLE_NAME + " WHERE title="+quizTitle+";"; try{ SQLiteDatabase db = this.getWritableDatabase(); Cursor cursor = db.rawQuery(selectQuery, null); Quiz quiz = new Quiz(); if(cursor.moveToFirst()){ do{ quiz.setQuestion(cursor.getString(0)); quiz.setAnswer(cursor.getInt(1)); quiz.setA1(cursor.getString(2)); quiz.setA2(cursor.getString(3)); quiz.setA3(cursor.getString(4)); quiz.setA4(cursor.getString(5)); quiz.setTitle(quizTitle); quizList.add(quiz); }while(cursor.moveToNext()); } db.close(); } catch(Exception e) { e.getMessage(); } return quizList; } Jeg skjønner ingenting. Vet noen om det er noen bugs i cursor eller noe sånt? Eller om jeg har noen andre feil i koden ? Endret 2. oktober 2012 av vebbiii Lenke til kommentar
vebbiii Skrevet 2. oktober 2012 Forfatter Del Skrevet 2. oktober 2012 Og, btw, før noen kommenterer det, jeg har semikolon på slutten av første query, men bare prøvde meg litt frem Lenke til kommentar
vebbiii Skrevet 3. oktober 2012 Forfatter Del Skrevet 3. oktober 2012 Fant ut av det. Hvis noen andre støter borti samme problemet, så vil cursor.getString(0) drepe programmet i det stille om du ikke kaller cursor.moveToFirst() først Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå