如何将分数表读取为数字而不是字符(android)
我正在创建一个带有高分表的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, " +
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等等。。