2014-01-27 11 views
1

Я пытаюсь удалить номер телефона из базы данных, но он не работает. Как я могу удалить номер телефона из базы данных. Я искал предыдущую запись, но я нашел то же решение, что и код. но не работаетпопробуйте удалить String из базы данных sqlite

// удалить конкретный номер

public boolean deleteNumber(String phoneNumber) 
{ 
    return db.delete(DATABASE_TABLE, KEY_PHONENUMBER + "=" + phoneNumber, null) > 0; 
} 

// Список код вида здесь

// отображение номера в ListView setListAdapter (новый ArrayAdapter (это, android.R.layout .simple_list_item_1, listOfPhoneNumber));

listView.setLongClickable(true); 
listView.setOnItemLongClickListener(new OnItemLongClickListener() { 

    // On Long Click Listener 
    @Override 
    public boolean onItemLongClick(AdapterView<?> adapterView, View view, int position, long id) { 
     Toast.makeText(ViewNumber.this,listView.getItemAtPosition(position).toString(), Toast.LENGTH_SHORT).show(); 

     numberToDelete = listView.getItemAtPosition(position).toString(); 

     // PopUp Menu 
     PopupMenu popupMenu = new PopupMenu(ViewNumber.this, view); 
     getMenuInflater().inflate(R.menu.popupmenu_viewnumber, popupMenu.getMenu()); 
     popupMenu.show(); 

     popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { 


      @Override 
       public boolean onMenuItemClick(MenuItem item) { 

       if (item.getItemId() == R.id.delete) { 
        Toast.makeText(ViewNumber.this, "Deleted", Toast.LENGTH_SHORT).show(); 

        // deleting number from database 
        db.open(); 
        boolean check = db.deleteNumber(numberToDelete); 
        db.close(); 

        if(check == true) 
        { 
         Log.d("NUMBER del from db", numberToDelete); 
        } 

        Log.d("numberToDelete", "" +numberToDelete); 
       } 

       if (item.getItemId() == R.id.edit) { 
        Toast.makeText(ViewNumber.this, "Edit", Toast.LENGTH_SHORT).show(); 
       } 

       return false; 
       } 
      }); 

     return false; 
     } 
    }); 
} 

Заранее спасибо

+0

У вас есть ошибка или номер просто продолжает отображаться в вашей базе данных? – GhostDerfel

+0

код кажется правильным. Вы уверены, что номер не удаляется из базы данных SQLite? –

+0

У меня нет ошибок. строка просто не удаляет –

ответ

0
public boolean deleteNumber(String phoneNumber) 
{ 
    if(db.delete(DATABASE_TABLE, KEY_PHONENUMBER + "=?", new String[] {phoneNumber})>0){ 
     return true; 
    }else{ 
    return false; 
    } 
} 
более

информации SQLiteDatabase Delete

общественной ИНТА удаление (таблица строк, строка WhereClause, String [] whereArgs) Добавлен в уровне API 1 метод Удобства для удаления строк в базе данных.

Параметры

стол стол, чтобы удалить из

WhereClause опциональный ИНЕКЕ применять при удалении. Передача null удалит все строки.

whereArgs Вы можете включить? S в предложение where, которое будет заменено значениями whereArgs. Значения будут привязаны как строки .

Возвращает количество строк, затронутых, если передано whereClause, 0 в противном случае. Чтобы удалить все строки и получить счетчик «1», как whereClause.

+1

Это сработало спасибо @Elenasys –

Смежные вопросы