gpt4 book ai didi

java - SQLite Android 问题

转载 作者:行者123 更新时间:2023-12-01 15:53:16 25 4
gpt4 key购买 nike

我正在使用 SQLite 为我的 Android 应用程序 (Java) 制作本地高分表。

由于某种原因,应用程序在尝试向表中添加新的高分时崩溃。相关代码如下:

private static String HIGHSCORES_TABLE_NAME = "SCORES_TABLE";
private SQLiteDatabase highScoresDB = null;
private Cursor cursor = null;

public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);

try
{
highScoresDB = openOrCreateDatabase("ScoresDatabase", MODE_PRIVATE, null);
createTable();
lookupData();
}
catch (SQLiteException se)
{
Log.e(getClass().getSimpleName(), "Could not create or Open the database");
}
finally
{

if (highScoresDB != null)
highScoresDB.execSQL("DELETE FROM " + HIGHSCORES_TABLE_NAME);
highScoresDB.close();
}
}

private void createTable() {
highScoresDB.execSQL("CREATE TABLE IF NOT EXISTS " + HIGHSCORES_TABLE_NAME + " (SCORE INT(3));");
}

private void insertData() {
highScoresDB.execSQL("INSERT INTO " + HIGHSCORES_TABLE_NAME + " Values ("+ highscore +");");
}

private void lookupData() {
cursor = highScoresDB.rawQuery("SELECT SCORE FROM " + HIGHSCORES_TABLE_NAME, null);
if (cursor.moveToLast()) {
highscore = cursor.getInt(cursor.getColumnIndex("SCORE"));
}
cursor.close();
}

public void restart() {
insertData();
}

当我查找高分时,我只想要最新的,所以我使用 moveToLast()。

最佳答案

我发现“cursor.moveToLast()”似乎无法正常工作。它确实移动了光标中的位置,但当您尝试读取该记录时会引发异常。

这有效:

cursor.moveToPosition(cursor.getCount()-1)

关于java - SQLite Android 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5575579/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com