Wyświetlanie danych z bazy SQLIte (Android)

0

Witam, próbuję wyświetlić dane z tabeli w bazie danych SQLite na Androidzie. Niby wszystko okej, działa wszystko perfekcyjnie, lecz gdy już próbuję utworzyć drugą tabelę, i drugą metodę do wyświetlania danych z tabeli nr.2 - aplikacja się wywala ze wskazaniem na linijkę:

kursor = db.query("tabela2", kolumny, null, null, null, null, null);

przez co nie może wykonać się linijka w aktywności:

 kursor = dm.wyswietlanie_z_drugiej_tabeli();

Oto kod "menadżera" mojej bazy danych:

 public class DatabaseManager extends SQLiteOpenHelper {
 
    Cursor kursor;
    SQLiteDatabase db;
 
 
    public DatabaseManager(Context context) {
        super(context, "oceny.db", null, 1);
    }
 
 
 
    //Utworzenie Bazy danych - stworzenie tabeli z ocenami
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(
                "create table tabela1(" +
                "nr integer primary key autoincrement," +
                "ocena integer);" +
                "");
 
        db.execSQL(
                "create table tabela2(" +
                        "nr integer primary key autoincrement," +
                        "ocena integer);" +
                        "");
 
    }
 
     
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
 
    }
 
    //wyświetlanie zawartości tabeli
    public Cursor wyswietlanie_z_pierwszej_tabeli(){
        String kolumny[] = {"nr", "ocena"};
        db = getReadableDatabase();
        kursor = db.query("tabela1", kolumny, null, null, null, null, null);
        return kursor;
    }
 
    public Cursor wyswietlanie_z_drugiej_tabeli(){
        String kolumny[] = {"nr", "ocena"};
        db = getReadableDatabase();
        kursor = db.query("tabela2", kolumny, null, null, null, null, null);
        return kursor;
    }
}

Tak jak wspomniałem, wyświetlanie z pierwszej tabeli w innej aktywności działa bez problemu.

Z góry dziękuję za wszelką pomoc.

Pozdrawiam

1

Wywala się - dodaj komunikat logcata. Wróżyć to ja nie potrafię. Przy okazji jak już tworzysz tabelę to wstaw gotowego Stringa, a nie bawisz się w jakieś budowanie zapytać (w sensie komendę tworzenia tabeli przypisz do zmiennej - łatwiej będzie manipulować).

1

@MrHyperion: tak, wiem, że wypada tak zrobić, odłożyłem sobie to po prostu na póżniej.

Problem rozwiązany, męczyłem się z nim pół dnia, a rozwiązanie okazało się banalnie głupie: wyczyszczenie danych aplikacji. Baza danych była już utworzona, przez co nie wywoływało mi metody onCreate, w której dołożyłem tabela2 :p Dziękuję za chęć pomocy, zamykam temat :D

0

@art1977: to nie jest rozwiązanie. Pomyśl co by się stało gdybyś tą drugą tabele puścił jako update do użytkowników. Każdy z nich musiałby czyścić cache bo apka by mu się sypała? No coś tu jest nie halo.

0

@panryz: Znalezienie źródła problemu pozwoliło mi właśnie rozwiązać problem w taki sposób, że nie wystąpi sytuacja, którą przedstawiłeś :) Ale dzięki za podpowiedź

1 użytkowników online, w tym zalogowanych: 0, gości: 1