【问题标题】:Selecting the "previous record" in a SQLite table在 SQLite 表中选择“上一条记录”
【发布时间】:2014-04-08 07:39:32
【问题描述】:

我正在使用以下代码访问表中的上一条记录,

Cursor c = db.rawQuery("SELECT * FROM newcarDB WHERE rowid < " +iCurrentRowid+ " ORDER BY rowid DESC LIMIT 1",null);

我需要对此进行配置,以便当我到达表格顶部时,(rowid = 1) 查询会停止。以前我已经使用了条件,所以如果 rowid = 1,则返回()。问题是,如果 rowid = 1 处的记录已被删除并且第一行的 rowid 为 2,那么我的查询有问题并且我的应用程序崩溃了。

解决这个问题的最佳方法是什么?

【问题讨论】:

  • “以前的记录”是什么意思?您不应该为此使用 rowid 。可能是日期戳?

标签: android sqlite select where


【解决方案1】:

解决这个问题的最佳方法是什么?

在访问游标中的任何数据之前,请确保它指向有效行。检查游标上 moveTo...() 调用的返回值,只有当它是 true 时,才使用 get...() 方法访问游标数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-24
    • 1970-01-01
    • 2015-03-23
    • 1970-01-01
    • 1970-01-01
    • 2015-10-09
    • 2016-03-06
    相关资源
    最近更新 更多