【问题标题】:Cursor Index Out Of Bounds when default value assigned分配默认值时光标索引超出范围
【发布时间】:2014-09-12 08:56:58
【问题描述】:

我刚刚在创建表时分配了默认值,但是当我想获得分配值时出现错误:

    db.execSQL("CREATE TABLE IF NOT EXISTS Nooo (N_id INTEGER DEFAULT 0, yes TEXT DEFAULT '1');");

SQLiteDatabase DB = this.getReadableDatabase();
    Cursor myCursor = DB.rawQuery("SELECT yes FROM Nooo",null);
    myCursor.moveToFirst();
    String aa=myCursor.getString(0);

上面一行发生了错误。

【问题讨论】:

    标签: android sqlite


    【解决方案1】:

    重复question。 可能你有错误,因为你没有向表中插入任何数据。

    【讨论】:

    • 不能从表中获取默认值吗?
    • 如果您将行项目插入到表中,则默认值分配给表列,但没有为当前列定义任何值。因此,要从列中获取默认值,您需要至少插入一行,或者这是您正在寻找的答案stackoverflow.com/questions/2591077/…
    【解决方案2】:

    1) 默认值的使用是在没有为该元素传递值的情况下,用一些默认值填充/初始化表格的该元素。但这只有在你插入一些东西时才会显现出来。

    2) 没有获取默认值的api。 这是您的数据库,所以您知道默认值,那么为什么需要任何 api 呢?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-05
      • 1970-01-01
      • 2011-05-23
      • 1970-01-01
      • 1970-01-01
      • 2014-11-30
      • 2013-05-31
      相关资源
      最近更新 更多