我可以寻求帮助...我设法将数据添加到数据库..但我删除数据时遇到问题..因为我无法根据我的 ListView 中的 ID 删除...如何获取 ID ??。 .这是我的代码..
此类名称为 ViewActivity.java,我在其中显示我的数据库内容...我只在我的 ListView 中显示一列
String query = "select * from " + helper.TABLE_PEKERJA;
Cursor c = database.rawQuery(query, null);
if(c!=null)
{
c.moveToFirst();
int getNamaIndex = c.getColumnIndex(helper.COL_NAMA);
if(c.isFirst())
{
do{
String nama = c.getString(getNamaIndex);
result.add(nama);
}while(c.moveToNext());
}
}
this.setListAdapter(new ArrayAdapter(this, android.R.layout.simple_list_item_1,result));
getListView().setTextFilterEnabled(true);
在我的 DBHelper 中,我创建了一个从我的数据库表中删除行的方法。
public void deleteData(SQLiteDatabase db, String id)
{
db.delete(TABLE_PEKERJA, COL_ID + " = " +id, null);
}
然后仍然在 ViewActivity.java 类中,我实现方法 onListItemClick
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
DBHelper helper = new DBHelper(this);
database = helper.getWritableDatabase();
Object o = this.getListAdapter().getItem(position);
String keyword = o.toString();
helper.deleteData(database, keyword);
Toast.makeText(this, "Data " + keyword + " removed" , Toast.LENGTH_SHORT).show();
}
也有这个错误..这个错误只有我可以查看...这个错误部分
Object o = this.getListAdapter().getItem(position);
02-09 02:34:23.729: E/Database(28923): at com.example.untukmuna.ViewContentActivity.onListItemClick(ViewContentActivity.java:69)
所以,我的问题是
1)我如何删除我的数据库表行,当我在创建数据库时按 ID 2)的 ListView 中的项目时,有 db.open()...但是我应该在哪里关闭数据库购买 db.close() 。 ..??
谢谢~~希望大家能理解我的问题。。^_^