我试图从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();
}
答案 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 + "'" ) ;