Java Android db.delete();论上市活动

Java Android db.delete();论上市活动,java,android,sql,Java,Android,Sql,我在一件事上需要帮助 我创建了一个带有cursord适配器的列表视图,该适配器连接到我的数据库,并向我显示了表中保存的所有内容的列表。 我后来创建了一个上下文菜单,在所需的行上显示longckick 上下文位置 id = getListAdapter().getItemId(info.position); 这是我在databaseHelper中删除的方法 void deleteReg(SQLiteDatabase db) { db.delete(Ta

我在一件事上需要帮助

我创建了一个带有cursord适配器的列表视图,该适配器连接到我的数据库,并向我显示了表中保存的所有内容的列表。 我后来创建了一个上下文菜单,在所需的行上显示longckick

上下文位置

         id = getListAdapter().getItemId(info.position);
这是我在databaseHelper中删除的方法

void deleteReg(SQLiteDatabase db)
    {

        db.delete(TabellaRegistry.TABLE_NAME,null, null);
    }
我在我的活动中使用它来删除所选行:

   final SQLiteDatabase db = databaseHelper.getWritableDatabase();
                                databaseHelper.deleteReg(db,null, null, null, null, null, null);
但是这样做…我删除了我表中的所有内容

如何通过关联菜单仅删除所选行


我希望我自己解释一下,为了删除特定的行,需要在delete语句中放入where子句。为了删除特定的行,需要在delete语句中放入where子句。如果您检查api文档中的此方法,您可以自己得到答案

public int delete (String table, String whereClause, String[] whereArgs)

Parameters

table   the table to delete from
whereClause the optional WHERE clause to apply when deleting. Passing null will delete all rows.

您正在where子句中传递null,这是删除所有记录的原因

如果您查看api文档中的此方法,您可以自己获得答案

public int delete (String table, String whereClause, String[] whereArgs)

Parameters

table   the table to delete from
whereClause the optional WHERE clause to apply when deleting. Passing null will delete all rows.

您正在where子句中传递null,这是删除所有记录的原因

通过将NULL作为此行的第二个参数传递:

db.delete(TabellaRegistry.TABLE_NAME,null, null);
您将始终删除整个表。如Android文档中所述,参数如下:

public int delete(字符串表、字符串where子句、字符串[]wherergs)

表-要从中删除的表

WHERE子句-删除时应用的可选WHERE子句。 传递null将删除所有行

假设你想删除BOOK_ID为6的行,你会得到如下结果:

public boolean deleteTitle(String id) 
{
    return db.delete(DATABASE_TABLE, BOOK_ID + "=" + id, null) > 0;
}

SQLite类概述:

通过将NULL作为此行的第二个参数传递:

db.delete(TabellaRegistry.TABLE_NAME,null, null);
您将始终删除整个表。如Android文档中所述,参数如下:

public int delete(字符串表、字符串where子句、字符串[]wherergs)

表-要从中删除的表

WHERE子句-删除时应用的可选WHERE子句。 传递null将删除所有行

假设你想删除BOOK_ID为6的行,你会得到如下结果:

public boolean deleteTitle(String id) 
{
    return db.delete(DATABASE_TABLE, BOOK_ID + "=" + id, null) > 0;
}

SQLite类概述:

再次读取db的文档。删除!!!将空值作为第二个和第三个参数传递将从tableRead doc for db中删除整个数据。再次删除!!!将null作为第二和第三个参数传递将删除表中的全部数据我知道在where子句上传递null将删除所有行,我总是在示例中编写,因为我做到了这一点。您的示例对我非常有用,谢谢!我知道在where子句上传递null将删除所有行,我总是在示例中编写,因为我做到了这一点。您的示例对我非常有用,谢谢!