【问题标题】:Return type for non-existing column in Sqlite?Sqlite 中不存在列的返回类型?
【发布时间】:2014-04-29 16:55:07
【问题描述】:

我的代码根据某些条件为某些表生成动态列。 该列可能存在也可能不存在。

所以我在做 -

cur.getString(cur.getColumnIndex("Dynamic_Column_Name"))

cur.getColumnIndex("Dynamic_Column_Name") 的 api 说 -

返回给定列名的从零开始的索引,如果是 列不存在。

所以如果Dynamic_Column_Name 不是我表中的列,那么它将是--

cur.getString(-1)

cur.getString(-1) 的 api 说 -

将请求列的值作为字符串返回。结果和 当列值为 null 时,此方法是否抛出异常 或者列类型不是字符串类型是实现定义的。

那么在我的情况下,返回类型是什么,还是会出现一些异常?

有没有最好的办法来处理这种情况?

【问题讨论】:

    标签: android sqlite android-cursor


    【解决方案1】:

    你会得到一个例外。具体来说:

    java.lang.IllegalStateException:无法从 CursorWindow 读取第 n 行,列 -1。确保 Cursor 在从中访问数据之前已正确初始化。

    为避免这种情况,请在使用前检查列索引是否为-1。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多