当前位置: 首页 > 知识库问答 >
问题:

获取数据时的OutOfBoundsException

贲俊才
2023-03-14
        MainData myDBHlpr = new MainData(getActivity()); // Instantiate a MainDatabasehelper object called myDBHlpr

        Cursor csr = myDBHlpr.getAllQuestions(getActivity());

        mMostMessagesSent.setText(csr.getString(csr.getColumnIndex("MostMessagesSent")));
        Log.d("ZZZ", csr.getString(csr.getColumnIndex("MostMessagesSent")));


        csr.close();

数据库帮助程序

public Cursor getAllQuestions(FragmentActivity usageSettings) {
    return this.getWritableDatabase().query(TABLE_NAME,null,null,null,null,null,null);
}

共有1个答案

牧熙云
2023-03-14

您没有移动到光标中的实际行。因此,当您试图获取数据时,您是在第一行之前,因此不可能使用-1的偏移量。

当SQLiteDatabase方法返回游标时,游标位于第一行之前的位置。这个位置是-1。

  • 如果需要,可以使用csr.movetoposition(-1)将光标设置为第一行之前。
    Cursor csr = myDBHlpr.getAllQuestions(getActivity());
    while (csr.moveToNext()) {
        mMostMessagesSent.setText(csr.getString(csr.getColumnIndex("MostMessagesSent")));
    }
    csr.close();
    null
 类似资料:
  • 我有一个使用redux的应用程序 我也曾在本地获取数据。 在我的反应组件中,我使用来获取数据。但我什么也没得到。 如何在我的组件中获取数据? 演示:https://codesandbox.io/s/nervous-rosalind-lp16j?file=/src/App.js:242-328

  • 我正在通过Vuex商店中的axios从外部API获取数据,它为我提供了一个包含对象的数组——比方说——。 每个都有一个,我需要用它获取城市详细信息。我想将这个details对象作为一个新键添加到数组中。 现在我正在获取所有城市,并使用另一个Vuex操作获取城市详细信息。 所有城市的行动 获取所有城市后的变异 数组中的每个对象都有一个,我正在用它获取这个城市的详细信息。 我试图在动作中循环数组,以获

  • 如果我使用,是否总是100%保证我将获得的数据是从最早到最新的排序,或者键是按照词典的顺序排列的?

  • 我正在尝试获取我的用户名,并在应用程序打开时向他/她问好。但我无法根据某个用户的uid获取数据。当我运行应用程序时,祝酒词从未真正出现。 数据库结构 密码

  • 获取数据 有2个方法可以获取数据。 fetchRow() 方法可以返回一条数据, fetchAll() 可以返回多条数据。2个方法都可以使用原生 SQL 语句作为参数。 <?php use Phinx\Migration\AbstractMigration; class MyNewMigration extends AbstractMigration { /** * Migr

  • 操作步骤 1.通过 tableID 实例化一个 TableObject 对象,操作该对象即相当于操作对应的数据表 let MyTableObject = new BaaS.TableObject(tableID) 参数说明 参数 类型 必填 说明 tableID Number 是 数据表 ID 2.指定 recordID 执行获取相应数据项操作 MyTableObject.get(recordID