在数据库中成功插入行。我导出sqlite
数据库文件,它显示我的记录。现在我想从数据库中获取该记录。数据库只有1条记录。
String containerData = "";
SQLiteDatabase db= this.getReadableDatabase();
Cursor cursor= db.rawQuery("select "+ " * " + " from "+ TABLE_NAME, null);
if(cursor != null){
cursor.moveToFirst();
while(cursor.moveToNext()){
containerData= cursor.getString(0);
}
cursor.close();
db.close();
我曾尝试使用db.query(),也尝试删除while循环并使用以下内容。
containerData= cursor.getString(0);
但是这给了我以下错误消息
方法抛出' android.database.CursorIndexOutOfBoundsException 异常。
我的表中共有5列。
答案 0 :(得分:1)
您只检查游标是否为空,您需要检查该游标中是否还有任何值:
if (cursor != null && !cursor.isAfterLast()){
...
}
答案 1 :(得分:1)
尝试以下代码:
String containerData = "";
SQLiteDatabase db= this.getReadableDatabase();
Cursor cursor= db.rawQuery("select "+ " * " + " from "+ TABLE_NAME, null);
if(cursor != null){
cursor.moveToFirst();
while (!cursor.isAfterLast()){
containerData= cursor.getString(0);
cursor.moveToNext();
Log.d("ShowData->", containerData);
}
}
cursor.close();
db.close();