【问题标题】:Simple DELETE statement did not work in SQlite [duplicate]简单的 DELETE 语句在 SQlite 中不起作用 [重复]
【发布时间】:2012-11-16 00:23:43
【问题描述】:

可能重复:
Android Delete Query

我有 db,现在它有 17 条记录。 这是我的代码:

SQLiteDatabase db=openOrCreateDatabase("mydb", MODE_PRIVATE, null);
c= db.rawQuery("DELETE FROM tbl1 where cat='12'",null);
db.close();

这是一个非常简单的查询,但每次我在模拟器上运行应用程序时,它都运行完美,没有任何错误,但我也没有删除任何内容。

谁能帮我解决问题?

【问题讨论】:

  • 如果你用sqlite3命令行工具试一试能用吗? cat 列中的值是什么类型的?
  • 使用 db.execSQL() 代替 db.rawQuery

标签: android sqlite sql-delete


【解决方案1】:

试试这个代码,

db.delete(String table, String whereClause, String[] whereArgs);

【讨论】:

    【解决方案2】:

    db.execSQL("DELETE FROM tbl1 where cat=12");

    【讨论】:

      【解决方案3】:

      试试这个

      public void deleteContact(Contact contact) {
          SQLiteDatabase db = this.getWritableDatabase();
          db.delete(TABLE_CONTACTS, KEY_ID + " = ?",
                  new String[] { String.valueOf(contact.getID()) });
          db.close();
      }
      

      【讨论】:

        【解决方案4】:

        使用它:

        db.delete(DATABASE_TABLE, KEY_NAME + "=" + name, null)

        您的代码有问题 - “12”。 插入更改:

        c= db.rawQuery("DELETE FROM tbl1 where cat=12",null);

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-01-26
          • 1970-01-01
          • 2015-06-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多