Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将分数表读取为数字而不是字符(android)_Android_Sql_Char_Long Integer - Fatal编程技术网

如何将分数表读取为数字而不是字符(android)

如何将分数表读取为数字而不是字符(android),android,sql,char,long-integer,Android,Sql,Char,Long Integer,我正在创建一个带有高分表的android游戏,目前数据库中的分数不被视为数字,因此它们没有以正确的顺序显示 这就是我的数据库是如何创建的 db.execSQL("CREATE TABLE " + DATABASE_TABLE + " (" + KEY_ROWID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + KEY_NAME + " TEXT NOT NULL, " +

我正在创建一个带有高分表的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
}
我看到有人使用长变量类型来执行此操作。。但没能让它正常工作!如果有人可以帮助我,或者有任何资源可以帮助我,那就太好了

你说:

目前数据库中的分数不被视为数字,因此它们没有按正确的顺序显示

这似乎是个错误。如果分数真的是数字,那么你正在开发的游戏数据库应该将它们存储为数字。如果你那样做,你的头痛就会少一些

如果您更正了数据,则按desc排序的顺序应该有效

编辑:

这就是我的观点,我不知道如何纠正它卡拉·德西


你甚至都没提到你在用什么数据库管理系统。现在,根据CREATETABLE语句,dbms支持数据类型INTEGER。为什么不将KEY\u SCORE存储为这样而不是NUM?

我用integer进行了尝试,但没有任何区别。。它可以排序,但会出现9,8,5,3,2,1,19,15,11,0,-1等等。。