[RESOLVIDO]Não faz UPDATE e não da erro

Oi galera, revirei os topicos mas nao achei uma alternativa pro meu problema, é simples mas nao funcions.
Ao clicar em uma função para fazer um update do estoquem não acontece nada.

CompraVendaDao

public void   AtualizaEstoque(Produto produto) throws SQLException{
		String sql = "update produto set estoque = ? WHERE NOME = ?";
		try{
			PreparedStatement stmt = getConnection().prepareStatement(sql);
	        stmt.setInt(1,produto.getEstoque());
	        stmt.setString(2,produto.getNome());
	        stmt.close();
		} catch (SQLException e) {
			throw new RuntimeException(e);
		}
    } 

CompraVendaController`

public void updateEstoque (int estoque, String nome) throws SQLException,ParseException
	{
		Produto produto = new Produto();
		produto.setEstoque(estoque);
		produto.setNome(nome);
		new CompraVendaDao().AtualizaEstoque(produto);
		
	}

Tela Iinicial

private void atualizaEstoque() throws ParseException, SQLException{
		CompraVendaController cpc = new CompraVendaController();
		Integer addEstoque = Integer.parseInt(textEstoque.getText());
		Integer estoqueFinal = ValorEstoque + addEstoque;
		Integer a = ValorEstoque -1;
		
		cpc.updateEstoque(a, NomeProduto);
	}

String sql = “update produto set estoque = ? WHERE NOME = ?”;

Coloque assim!
String sql = “update produto set estoque = ? WHERE NOME = " +produto.getNome()+”";

Agora pode ser que retorne algum erro!

Ele retorna este erro.
Conectando ao Banco de Dados

Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
at CadCompraVenda.atualizaEstoque(CadCompraVenda.java:99)
at CadCompraVenda.access$1(CadCompraVenda.java:96)
at CadCompraVenda$10.actionPerformed(CadCompraVenda.java:343)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

Comente essa linha!

//stmt.setString(2,produto.getNome());

Eu ja tinha feuti mas não funcionou, eu alterei para dessa forma e mesmo assim nao deu cero

CompraVendaDao

public void   AtualizaEstoque(Produto produto) throws SQLException{
		String sql = "update produto set estoque = ? WHERE NOME = ?";
		try{
			PreparedStatement stmt = getConnection().prepareStatement(sql);
	        stmt.setInt(1,produto.getEstoque());
	        stmt.setString(2,produto.getNome());
	        stmt.close();
		} catch (SQLException e) {
			throw new RuntimeException(e);
		}
    } 

TelaPrincipal

private void atualizaEstoque() throws ParseException, SQLException{
		Produto produto = new Produto();
		produto.setNome(NomeProduto);
		produto.setEstoque(ValorEstoque+Integer.parseInt(textEstoque.getText()));
		CompraVendaDao dao = new CompraVendaDao();
		dao.AtualizaEstoque(produto);
	}

Ficou faltando vc mandar executar.

public void AtualizaEstoque(Produto produto) throws SQLException{

    String sql = "update produto set estoque = ? WHERE NOME = ?";
    try{
        PreparedStatement stmt = getConnection().prepareStatement(sql);
        stmt.setInt(1,produto.getEstoque());
        stmt.setString(2,produto.getNome());
        stnt.execute();
        stmt.close();
    }catch (SQLException e) {
        throw new RuntimeException(e);
    }
}
1 curtida