我犯了一个错误的错误。
我的光标不会填充数据库条目。
我现在的代码是:
public HashMap<Integer, Team> getTeamsBasic(int leagueId) {
System.out.println("TEST!!!" + leagueId);
SQLiteDatabase db = dbHelper.getReadableDatabase();
HashMap<Integer, Team> teams = null;
System.out.println("TEST3!");
String query = "SELECT * FROM Teams WHERE leagueId = ?";
Cursor c = db.rawQuery(query, new String[] { Integer.toString(leagueId)});
System.out.println("TEST4!");
teams = new HashMap<Integer, Team>();
System.out.println("BOOL: " + c.moveToFirst());
if (c.moveToFirst()) {
System.out.println("TEST5!");
while (c.isAfterLast() == false) {
Team team = new Team();
System.out.println("TEST!6");
team.setId(c.getInt(c.getColumnIndex("id")));
team.setName(c.getString(c.getColumnIndex("name")));
team.setStadium(c.getString(c.getColumnIndex("stadium")));
System.out.println("TES2T!");
teams.put(team.getId(), team);
c.moveToNext();
}
c.close();
System.out.println("TEAMSIZE: " + teams.size());
}
return teams;}
问题是,我知道我的database.db填充了正确的项目。 因为我已从手机下载了我的数据库,并使用与我的脚本相同的查询进行了检查。 除了我的脚本没有输出,而我在DB浏览器中为SQLite做同样的事情我得到了大量的输出:
https://gyazo.com/2a14458f50fd5a836c55a383d65d0d65
它与我在Android中进行手动操作时使用的完全相同的查询。 联盟Id = 1。 BOOL的输出:= FALSE :(
(g)上的(wr)是什么?