Quote Originariamente inviata da optime Visualizza il messaggio
1. va indicato il db, come da regolamento
2. fatti stampare a schermo cosa valgono le tre stringhe dopo che le hai composte, così da capire quali query vengono effettivamente eseguite
3. potrebbe anche darsi che la query riporti n risultati, ma poi da programma (che non conosciamo) tu legga solo il primo risultato
4. per ultimo (ma ne parliamo poi) vedo che fai tre query in cascata quando probabilmente ne basterebbe una con delle JOIN ben costruite

1:

codice:
private void createVideoGamePlatformTable(SQLiteDatabase db) {    db.execSQL("create table " + TABEL_VIDEOGAME_PLATFORM + "(" +
            COL_VIDEOGAME_PLATFORM_ID + " INTEGER PRIMARY KEY AUTOINCREMENT," +
            COL_VIDEOGAME_PLATFORM_VIDEOGAME_ID + " INTEGER NOT NULL," +
            COL_VIDEOGAME_PLATFORM_CONSOLE_ID + " INTEGER NOT NULL," +
            "FOREIGN KEY( " + COL_VIDEOGAME_PLATFORM_VIDEOGAME_ID + " ) REFERENCES " + TABEL_VIDEOGAME + " (" + COL_VIDEOGAME_ID + " )" +
            "FOREIGN KEY( " + COL_VIDEOGAME_PLATFORM_CONSOLE_ID + " ) REFERENCES " + TABEL_CONSOLE + " (" + COL_CONSOLE_ID + " )" +
            ");");

    db.execSQL("INSERT INTO " + TABEL_VIDEOGAME_PLATFORM + "(" +
                    COL_VIDEOGAME_PLATFORM_VIDEOGAME_ID + "," +
                    COL_VIDEOGAME_PLATFORM_CONSOLE_ID + ")" +
                    "VALUES " +
                    "('1', '1')," +
                    "('1', '3')," +
                    "('1', '8')," +
                    "('2', '1')," +
                    "('2', '3')," +
                    "('2', '8')," +
                    "('3', '3')," +
                    "('4', '7')," +
                    "('5', '10')," +
                    "('6', '1')," +
                    "('6', '3')," +
                    "('6', '8');"
);



}

private void createGenreTable(SQLiteDatabase db) {
    db.execSQL("create table " + TABEL_GENRE + "(" +
            COL_GENRE_ID + " INTEGER PRIMARY KEY AUTOINCREMENT," +
            COL_GENRE_NAME + " TEXT(40) NOT NULL" +
            ");");

    db.execSQL("INSERT INTO " + TABEL_GENRE + "(" +
            COL_GENRE_NAME + ")" +
                    "VALUES " +
                    "('GDR'), " +
                    "('FPS'), " +
                    "('TPS'), " +
                    "('Platform')" +
                    ";"


);
}

private void createVideoGameTable(SQLiteDatabase db) {

    db.execSQL("create table " + TABEL_VIDEOGAME + "(" +
            COL_VIDEOGAME_ID + " INTEGER PRIMARY KEY AUTOINCREMENT," +
            COL_VIDEOGAME_NAME + " TEXT(40) NOT NULL," +
            COL_VIDEOGAME_GENRE + " INTEGER," +

            COL_VIDEOGAME_DEVELOPER + " TEXT(25)," +
            COL_VIDEOGAME_PRODUCER + " TEXT(25)," +
            COL_VIDEOGAME_PUBLICATION + " TEXT(15)," +
            COL_VIDEOGAME_ADDED + " INTEGER," +
            "FOREIGN KEY( " + COL_VIDEOGAME_GENRE + " ) REFERENCES " + TABEL_GENRE + " (" + COL_GENRE_ID + " )" +
            ");");

    db.execSQL("INSERT INTO " + TABEL_VIDEOGAME + " (" +
            COL_VIDEOGAME_NAME + "," +
            COL_VIDEOGAME_GENRE + "," +
            COL_VIDEOGAME_DEVELOPER + "," +
            COL_VIDEOGAME_PRODUCER + "," +
            COL_VIDEOGAME_PUBLICATION + ","+
            COL_CONSOLE_ADDED + ")" +
            "VALUES " +
            "('Mass Effect', '1', 'BioWare', 'Eletronic Arts ','2007', '0')," + //1
"('Mass Effect 2', '1',  'BioWare', 'Eletronic Arts ','2011', '0')," + //2

"('Uncharted 3', '3', 'NaugtyDog', 'Sony ','2012', '0')," + //3
"('Halo 5', '2', 'Bungie', 'Microsoft','2015', '0')," + //4
"('Mario', '4', 'Nintendo', 'Nintendo ','2015', '0')," + //5

"('Mass Effect 3', '1', 'BioWare', 'Eletronic Arts ','2013', '0')" + //6


";"
);
}

private void createConsoleTable(SQLiteDatabase db) {

    db.execSQL("create table " + TABEL_CONSOLE + "( " +
            COL_CONSOLE_ID + " INTEGER PRIMARY KEY AUTOINCREMENT," +
            COL_CONSOLE_NAME + " TEXT(40) NOT NULL," +
            COL_CONSOLE_PRODUCER + " TEX(40)," +
            COL_CONSOLE_GENERATION + " TEXT(15)," +
            COL_CONSOLE_TYPE + " TEXT(15)," +
            COL_CONSOLE_PUBLICATION + " TEXT(15)," +
            COL_CONSOLE_ADDED + " INTEGER" +
            ");");



    db.execSQL("INSERT INTO " + TABEL_CONSOLE + " ( " +
                    COL_CONSOLE_NAME + "," +
                    COL_CONSOLE_PRODUCER + "," +
                    COL_CONSOLE_GENERATION + "," +
                    COL_CONSOLE_TYPE + "," +
                    COL_CONSOLE_PUBLICATION + "," +
                    COL_CONSOLE_ADDED + ")" +
                    "VALUES ('PC', ' ', ' ', ' ', ' ', '0')," +                     //1
"('Playstation 4', 'Sony', 'Octave', 'Home', ' ', '0')," + //2
"('Playstation 3', 'Sony', 'Seventh', 'Home', ' ', '0')," + //3
"('Playstation 2', 'Sony', 'Sixth', 'Home', ' ', '0')," + //4
"('Playstation 1', 'Sony', 'fifth', 'Home', ' ', '0')," + //5
"('Playstation Vita', 'Sony', 'Octave', 'Home', ' ', '0')," +  //6
"('XboxOne', 'Microsoft', 'Octave', 'Home', ' ', '0')," + //7
"('Xbox 360', 'Microsoft', 'Seventh', 'Home', ' ', '0')," +  //8
"('WiiU', 'Nintendo', 'Octave', 'Home', ' ', '0')," + //9
"('Wii', 'Nintendo', 'Seventh', 'Home', ' ', '0')," + //10
"('Playstation Portable', 'Sony', 'Seventh', 'Home', ' ', '0')" + //11
";"
);

}
2: Ho testato singolarmente le query, e funzionano.
3: il codice da programma funziona, visto che per le altre query non ho problemi a ricevere tutti i dati di cui ho bisogno. Soltanto questa query non mi funziona correttamente.