Logo Passei Direto
Buscar
public void atualizar(Produto produto) {
ContentValues valores = new ContentValues() ;
valores.put("nome", produto.getNome());
valores.put("preco", produto.getPreco());
valores.put("urgente", (produto.isUrgente() ? 1 : 0));
String clausulaWhere = " id = ?";
String argumentoWhere[] = { produto.getId().toString()} ;
getWritableDatabase().update(table: "Produto", valores, clausulaWhere, argumentoWhere);
}

public void excluir(Produto produto) {
String clausulaWhere = " id = ?";
String argumentosWhere[] = { produto.getId().toString()};

getWritableDatabase().delete( table: "Produto", clausulaWhere, argumentosWhere);
}
User badge image
Felipe Moreira

há 3 meses

Respostas

User badge image

Ed Verified user icon

há 3 meses

Você apresentou dois métodos em Java para manipulação de banco de dados SQLite: atualizar e excluir um registro da tabela "Produto". Analisando o código, o que chama atenção são os parâmetros usados nos métodos update e delete: - No método update: ```java getWritableDatabase().update(table: "Produto", valores, clausulaWhere, argumentoWhere); ``` - No método delete: ```java getWritableDatabase().delete(table: "Produto", clausulaWhere, argumentosWhere); ``` O problema está na sintaxe dos parâmetros: em Java, não se usa "table:" antes do nome do parâmetro. O correto é passar os argumentos na ordem correta, sem nomeá-los. A assinatura correta dos métodos é: - update(String table, ContentValues values, String whereClause, String[] whereArgs) - delete(String table, String whereClause, String[] whereArgs) Portanto, o código correto deve ser: ```java getWritableDatabase().update("Produto", valores, clausulaWhere, argumentoWhere); getWritableDatabase().delete("Produto", clausulaWhere, argumentosWhere); ``` Se sua dúvida é sobre qual é o erro ou qual a forma correta, a resposta é que o uso de "table:" está incorreto. Se a pergunta for sobre o que o código faz, ele atualiza e exclui registros da tabela "Produto" usando o id como critério. Se houver alternativas, por favor envie para que eu possa indicar a correta.

Essa resposta te ajudou?

0
Dislike0

Ainda com dúvidas?

Envie uma pergunta e tenha sua dúvida de estudo respondida!

Mais conteúdos dessa disciplina