删除数据不起作用,SQLite Android

时间:2014-05-07 11:42:12

标签: android android-sqlite sql-delete

我试图从SQLite中删除一行,但我不能,Eclipse不会说我没有错误。我可以插入并删除所有,但是当我要删除一行时,什么都不做

public void AlertDialogLimpiarProducto(final int position){
            AlertDialog.Builder aviso = new AlertDialog.Builder(Carrito.this);  
            aviso.setTitle("Alerta");  
            aviso.setMessage("¿Desea borrar el producto?");            
            aviso.setPositiveButton("Confirmar", new DialogInterface.OnClickListener() {  
                public void onClick(DialogInterface dialogo1, int id) {  
                    try{
                        db = usdbh.getWritableDatabase();
                        db.execSQL("DELETE FROM Carrito WHERE nombre = '" + nombre_producto +"'");
                        cuentas.remove(position);
                        //PARA BAJAR EL CONTADOR DEL ACTIVITY PRINCIPAL
                        MainActivity.contador_carrito--;
                        MainActivity.cantidad_carrito.setText(MainActivity.contador_carrito+"");
                        Toast.makeText(Carrito.this, nombre_producto+" eliminado", Toast.LENGTH_SHORT).show();
                        db = usdbh.getReadableDatabase();
                        db.close();

                    }catch(Exception e){
                        e.printStackTrace();
                    }

                }  
            });  
            aviso.setNegativeButton("Cancelar", null);            
            aviso.show();
        }

2 个答案:

答案 0 :(得分:3)

理想情况下,如果它不能与您的设备一起工作,它应该与execSQL一起使用 请尝试使用删除方法

db.delete(table_name, where, whereArgs);

答案 1 :(得分:0)

您的删除查询不完整

db.execSQL("DELETE FROM Carrito WHERE nombre = '" + nombre_producto);

我认为nombre_producto的类型为String,因此您的删除查询应如下所示

db.execSQL("DELETE FROM Carrito WHERE nombre = '" + nombre_producto  + "'" ) ;