【问题标题】:How to delete all items from table in SQLite, Android?如何从 SQLite,Android 中的表中删除所有项目?
【发布时间】:2018-07-10 16:18:55
【问题描述】:

创建表

private void createSerialDateTable() {
    mDatabase.execSQL(
            "CREATE TABLE IF NOT EXISTS SerialDate (\n" +
                    "    id INTEGER NOT NULL CONSTRAINT SerialDate_pk PRIMARY KEY AUTOINCREMENT,\n" +
                    "    name varchar(200) NOT NULL,\n" +
                    "    joiningdate datetime NOT NULL\n" +
                    ");"
    );
}

插入表格

 String insertSQL = "INSERT INTO SerialDate \n" +
                "(name, joiningdate)\n" +
                "VALUES \n" +
                "(?, ? );";
        mDatabase.execSQL(insertSQL, new String[]{name, joiningDate});

从列表中删除所有项目我尝试一下但它不起作用。

clear.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

          //  serialDateList.clear();
            Cursor cursorSerialDate = mDatabase.rawQuery("DELETE  FROM SerialDate", null);
            cursorSerialDate.close();

            adapter.notifyDataSetChanged();
        }
    });

我怎样才能绝对删除所有数据。
请。帮帮我!

【问题讨论】:

标签: android sqlite android-sqlite sql-delete


【解决方案1】:

更好的方法是在DataBaseHelper类中创建一个通用方法

public void deleteTableF(String tablename) {

               String selectQuery = "DELETE FROM " + tablename;

               SQLiteDatabase db= this.getWritableDatabase();

               db.execSQL(selectQuery);
            }

然后调用 deleteTableF 方法来删​​除代码中的特定表。

SQLiteDatabase db =  = new DataBaseHelper(this); // Dbhelper class object
 db.deleteTableF("table_name");

【讨论】:

  • 需要 SerialDate 表达式!! lz我该怎么办!! [链接](imgur.com/hf3QrUs)
  • 用双引号传递你的表名,比如 mDatabase.delete("SerialDate",null,null)
【解决方案2】:

尝试使用此代码删除表中的所有行:

database.delete(tablename, null,null);

【讨论】:

  • mDatabase.delete(SerialDate, null,null);需要 SerialDate 表达式!!请问我该怎么办!!
  • 将 SerialDate 替换为“SerialDate”
  • 如果这对您有帮助,请标记为已回答,以便其他人可以轻松找到它。谢谢。
【解决方案3】:

rawQuery 用于选择语句以获取行。 改用execSql 或删除方法

【讨论】:

    【解决方案4】:

    你可以试试这个

    clear.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
    
            db.execSQL("DELETE FROM "+ TABLE_NAME);
            db.close();
    
            // Other codes here
        }
    });
    

    【讨论】:

    • 需要 SerialDate 表达式!! lz我该怎么办!! [链接](imgur.com/hf3QrUs)
    猜你喜欢
    • 1970-01-01
    • 2018-09-02
    • 2014-09-15
    • 2012-03-24
    • 2012-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-24
    相关资源
    最近更新 更多