gpt4 book ai didi

java - 如何解决大小为0的android.database.CursorIndexOutOfBoundsException : Index 0 requested,

转载 作者:行者123 更新时间:2023-12-02 12:38:59 24 4
gpt4 key购买 nike

我已经寻找解决方案很长时间了,但仍然找不到相关的方法来使其发挥作用。
我在 Android studio 的外部 myDBClass.java 中有这个方法来查找最后插入的行。

public Cursor lastrow() {
// TODO Auto-generated method stub
try{
SQLiteDatabase db;
db = this.getReadableDatabase(); // Read Data
String query = "SELECT ID As _id, Spinpos, Details, Setfor from alarm order by ID DESC limit 1";
Cursor cursor = db.rawQuery(query, null);
if(cursor != null)
{
cursor.moveToFirst();
return cursor;
}
else
{
return null;
}

} catch (Exception e) {
return null;
}
}

然后我在MainActivity.java中执行它

 myDBClass myDb = new myDBClass(this);      
Cursor cursor = myDb.lastrow();
String SongID = cursor.getString(cursor.getColumnIndex("Spinpos"));
Toast.makeText(this,SongID,Toast.LENGTH_LONG).show();

它抛出 android.database.CursorIndexOutOfBoundsException。请给我一个解决方案。

最佳答案

光标初始化为位置-1,因此当您调用moveToNext()时,如果光标到达位置0,则返回true,这意味着数据库至少获取了一个值。

使用这个

 if(cursor.moveToNext()){

//database fetched at least one value
}

关于java - 如何解决大小为0的android.database.CursorIndexOutOfBoundsException : Index 0 requested,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45017525/

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