【问题标题】:How to insert the record the record at the specific ID in sqlite android如何在sqlite android中插入特定ID的记录
【发布时间】:2015-12-11 14:05:40
【问题描述】:

我是 android SQLite 的新手,我对在 sqlite 中插入记录有疑问。 我们如何将特定位置的记录插入sqlite IE。如果我插入第一条记录,它将转到第一个位置,然后我将跳过第二条记录,然后插入第三条记录,它将存储为 ID 3 的记录 3,如下所示

      ID            value
      1              abc
      2                 
      3              def
      4              ghi
      5              jkl
      6                 

像这样,谁能告诉我如何做到这一点

【问题讨论】:

  • 使用“位置”列怎么样?在选择中,您可以按位置排序,例如“从表中按位置选择 *”
  • 你能用代码@MimmoGrottoli更好地帮助我吗
  • 你的表中有固定的行数吗?
  • 是的,如果计数大于 7,我的固定行数为 7,那么表中的数据将被删除并更新 @Opiatefuchs

标签: android sqlite insert


【解决方案1】:

在您的数据库助手类中创建一个方法并传递参数。给你一个代码示例。希望对你有帮助

   public void updateTable(String catID, String data) {
    try {
        String sql = "UPDATE data_table SET column_data = " + data + " WHERE cat_id = " + catID;
        mDb.execSQL(sql);


    } catch (SQLException mSQLException) {
        Log.e(TAG, "updateTable >>" + mSQLException.toString());
        throw mSQLException;
    }
}

【讨论】:

    【解决方案2】:

    最好的办法是创建包含 3 列的表格:

    • _id -> 该条目的唯一标识符
    • slot -> 这是你的 1 - 6 slot,你必须注意溢出等问题。
    • 值 -> 你的值“abc”等

    例如:

    创建表 slot (_id INTEGER PRIMARY KEY AUTOINCREMENT, slot INTEGER NOT NULL, value TEXT);

    基本上你可以跳过 _id 列,但它在 CursorAdapter 实现中使用,所以你会在那里遇到麻烦,它不会伤害你。 由于 text 可以为 null,因此您可以按照上面描述的方式创建一个场景,只需设置您的 slot 的整数值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-17
      • 2012-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-30
      相关资源
      最近更新 更多