问题描述
|
我有一个listview,我正在从sqlite数据库获取数据。我的问题是删除用户从列表视图中选择的行。我可以删除所有表格
dbConn.delete(\“ Restobj \”,null,null);
但是我无法删除从列表视图中选择的一行。
请帮忙
解决方法
本质上,您需要从选定的ListView项中获取行ID。使用行ID,您可以轻松删除该行:
String where = \"_id = \" + _id;
db.delete(TABLE_NAME,where,null);
删除行项目后,请确保获得ListView适配器光标并进行重新查询。如果不这样做,您将看不到更新的表,因此也看不到更新的ListView。
, 将其他两个参数用于delete方法。查看API文档以了解更多信息。
http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html#delete%28java.lang.String,%20java.lang.String,%20java.lang.String[]%29
传递非null的值。
另外,请尝试在stackoverflow和/或Google上搜索该主题。答案很多。
, 您需要向数据库对象提供适当的值。我假设dbConn是数据库对象的实例。在这种情况下,您可以使用3个参数传递dbConn.delete()。第一个参数是表名。第二个是whereClause。这类似于:
\"id = \" + objectDatabaseId
在这种情况下,最终变量可以保留为空白。最终结果是这样的:
String whereClause = \"id = \" + objectDatabaseId;
dbConn.delete(\"Restobj\",whereClause,null);
附带说明一下,在引用与“ Restobj \”相对应的表名和表列时,最好使用常量,您应该有类似RestObject.TABLE_NAME的名称,其中常量定义为内部的静态最终String。 RestObject。
-兰德尔