比较SQLite数据库中的数据 - Android(java)

时间:2012-12-27 17:16:37

标签: java android sqlite type-mismatch

我制作了一个有3列的SQLite高分; rank(int),score(long)和percentage(int)。我试图从列中提取所有数据,并将它们与用户刚刚看到的分数进行比较,看看他们的新分数是否达到了前10名的高分榜。

我希望首先根据百分比优先考虑高分,然后打分以打破任何关系。以下是我开始这样做的地方。我在正确的轨道上吗?我甚至从未在Java之外使用过SQLite,所以这对我来说都是全新的。

提前感谢您的帮助。

//Check if new record makes the top 10.
public boolean check(int rank, long score, int percentage) {
    //SQL query to get last score/percentage if highscores has 10 records...
    long[] scores = new long[9];
    int[] percentages = new int[9];
    scores = db.execSQL("SELECT " + SCORE + " FROM " + TABLE + ";");  //Error:  Type mismatch
    percentages = db.execSQL("SELECT " + PERCENTAGE + " FROM " + TABLE + ";");  //Error:  Type mismatch
    //Algorithms to compare scores and percentages go here...
}

1 个答案:

答案 0 :(得分:3)

 scores = db.execSQL("SELECT " + SCORE + " FROM " + TABLE + ";");

execSQL返回void。

根据javadoc

  

执行一个非SELECT的SQL语句或任何其他返回数据的SQL语句。

您可能需要使用query(或)rawQuery机制进行选择。