java - Sqlite 查询返回 mRowIdColumnIndex 为 -1

标签 java android sqlite

我需要检查我的数据库列之一中是否已有值,因此我编写了以下代码来执行此操作:

             public Cursor getTitle(long rowId) throws SQLException {

 Cursor mCursor = db.query(DATABASE_TABLE, new String[] 
      {KEY_TOTAL_HOURS, KEY_TOTAL_MINUTES}, KEY_ROWID +"=" + rowId, null, null, null, null);{

     mCursor.moveToFirst();
     return mCursor;
 }
 }

但是我返回的光标给出了

android.database.CursorIndexOutOfBoundsException: Index 0 requested, with a size of 0

出了什么问题?

最佳答案

您应该检查 moveToFirst 的返回值确保返回有效行:如果没有,它将返回 false。似乎没有包含您指定的 ID 的行。

关于java - Sqlite 查询返回 mRowIdColumnIndex 为 -1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7251087/

相关文章:

java - 在 Jasper 报告中将 String 转换为 Long

java - 如何使用 Apache POI 替换 Powerpoint 幻灯片图中的 DataXML

sqlite3 虚拟表生命周期

android - 如何使用从主表加载数据的 CursorLoader 从子表中检索数据?

apache - 将android连接到数据库

sql - 如何在 HIVE 中使用 "in"和 "having"子句?

java - Spring Security Kerberos、Kerberos + AD - 错误 : Access Denied, 没有可存储的 key

java - 在通用 Collection 方法中发送 ArrayList

android - 将按钮的文本对齐到底部

android - 从资源中删除可绘制对象