无法删除sqlite上的数据

时间:2013-08-30 09:37:37

标签: android sqlite

我正在尝试使用按钮删除数据库中的单个播放器。

 save.setOnClickListener(new OnClickListener(){

            public void onClick(View v) {

                db.addContact(new PlayerData(name,score));
                Log.d("Insert: ", "Inserting .."); 

            } 
      });



          load.setOnClickListener(new OnClickListener(){

                public void onClick(View v) {

                    thedb = (ArrayList<PlayerData>) db.getAllContacts();
                    String showName = db.getContact(8).getName();
                    int showScore = db.getContact(8).getscore();
                    saved.setText("Player Name: "+showName+" Player Score: "+showScore);

                } 
          });


          delete.setOnClickListener(new OnClickListener(){

                public void onClick(View v) {

                    db.deleteContact();


                } 
          });

但是在删除按钮中,db.deletecontact();

上会显示错误

我无法弄清楚如何删除它,因为我的一位朋友刚给了我数据库管理器的代码。

以下是DatabaseManager的片段。

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

db.deleteContact();需要一个参数或参数,但我不知道该放什么。请帮忙。

2 个答案:

答案 0 :(得分:1)

您需要返回一个PlayerData对象。您可以在加载clickListener中获得其中一个。

db.deleteContact(db.getContact(<entry number of player>));

这应该为您提供要传递的PlayerData对象作为deleteContact方法的参数。

希望这有帮助

答案 1 :(得分:0)

如在加载按钮中单击,您将传递联系索引,如

db.getContact(8).getscore();

与此相同我认为你应该传递这个也像

db.deleteContact(7); //index of 7th contact