Как получить таблицу результатов для чтения в виде чисел вместо символов (Android) - PullRequest
0 голосов
/ 25 февраля 2012

Я создаю игру для Android с таблицей рекордов, в настоящее время оценки в базе данных не отображаются в виде цифр, поэтому они отображаются не в правильном порядке.

Вот как моя база данных

        db.execSQL("CREATE TABLE " + DATABASE_TABLE + " (" +
                KEY_ROWID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
                KEY_NAME + " TEXT NOT NULL, " +
                KEY_SCORE + " NUM);");

, и это мой метод для получения результата

    public String getScore() {

    String[] score = new String[]{ KEY_SCORE };
    Cursor c = scoreDb.query(DATABASE_TABLE, score, null, null, null, null, KEY_SCORE+" DESC"); 
    String scoreResult = "";

    int iRow2 = c.getColumnIndex(KEY_SCORE); //Cursor looking for column setting equal to these ints.



    for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) { 
        //Move to first row - where cursor starts and moves to next row as long it is not after last row.
        scoreResult = scoreResult + c.getString(iRow2) + "\n"; 
        //Returning value of row that it is currently on.
    }
    return scoreResult; //returning result
}

Я видел кого-то, кто использовал переменный тип "Long", чтобы сделать это .., но не смогзаставить его работать!если кто-то может помочь или имеет какие-либо ресурсы, которые могут мне помочь, это было бы здорово!

1 Ответ

0 голосов
/ 26 февраля 2012

Ну, вы сказали:

В настоящее время оценки в базе данных не отображаются в виде чисел, поэтому они отображаются не в правильном порядке.

Этокажется ошибкойЕсли результаты на самом деле являются числами, то база данных игры, которую вы разрабатываете, должна хранить их в виде чисел.Если вы сделаете это, у вас будет меньше головной боли.

Если вы исправите свои данные, order by desc должен работать.

Редактировать:

это моя точка зрения, я не знаю, как это исправить!- Карла Десси

Ну, вы даже не упомянули, какую СУБД вы используете.Теперь на основе вашего заявления create table, что dbms поддерживает тип данных INTEGER.Почему бы вам не хранить KEY_SCORE как таковой вместо NUM?

...