2012-12-27 3 views
0

3 컬럼을 가진 SQLite 하이 스코아를 만들었습니다. 순위 (int), 점수 (long) 및 백분율 (int)입니다. 열에서 모든 데이터를 가져와 사용자가 방금 얻은 점수와 비교해 봅니다. 새 점수가 상위 10 개를 보유하는 최고 기록 목록을 작성한 경우 볼 수 있습니다.SQLite 데이터베이스의 데이터 비교 - 안드로이드 (자바)

최고 기록에 백분율로 순위를 매기기를 원합니다. 먼저 점수를 매기고 점수를 매기십시오. 아래는 내가 이것을하기 시작한 곳입니다. 나는 올바른 길을 가고 있는가? 나는 자바 밖에서조차 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... 
} 

답변

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

execSQL 반환 무효. javadoc

는 SELECT 또는 데이터를 반환하는 모든 다른 SQL 문이 아닌 하나의 SQL 문을 실행으로 당

.

선택하려면 query (또는) rawQuery 메커니즘을 사용해야 할 수도 있습니다.

관련 문제