2016-05-10 4 views
0

, когда я хочу, чтобы удалить строку из моей таблицы, тост показывает мне «ошибка» в то время как линия была удаленаудаление строки из таблицы

Supprimer.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      db = dbhelper.getWritableDatabase(); 
      Cursor c = db.rawQuery("DELETE FROM Biblio WHERE nom = \""+user.getText().toString()+"\" AND type= \""+spinner.getSelectedItem().toString()+"\"",null); 
      if(c.moveToFirst()){ 
       Toast.makeText(getActivity(), "deleted", Toast.LENGTH_LONG).show(); 
      }else{    Toast.makeText(getActivity(),"Erreur",Toast.LENGTH_LONG).show();} 

     } 
    }); 
+0

Почему вы добавляете косые черты? – AnixPasBesoin

+0

Используйте подготовленные утверждения, чтобы сделать эти запросы безопасными и читаемыми –

+0

int result x = db.delete ("Biblio", "nom =" + nameuser.getText(). ToString() + "AND type =" + spinner.getSelectedItem() .toString(), null); –

ответ

1

rawQuery возвращает курсор, но delete возвращает строка удаляется, поэтому rawQuery заявление, думаю, необычный. Я бы порекомендовал что-то вроде:

db.delete ("Biblio", "nom = ? AND type = ?", new String[] {user.getText().toString(), spinner.getSelectedItem().toString()}) 

Вы получите int back, число удаленных строк.

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