Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Olá Douglas!
Pela imagem que você compartilhou, parece que você está enfrentando um problema ao tentar realizar um depósito em uma conta que, segundo a mensagem de erro, não está cadastrada.
O erro específico apontado na imagem é: "Erro: Não existe conta cadastrada com esse número!" Isso sugere que o número da conta que você está tentando acessar para realizar o depósito não está presente no banco de dados.
Analisando o contexto que você forneceu, percebo que o método realizarDeposito do ContaService chama o método buscarContaPorNumero para verificar se a conta existe antes de prosseguir com o depósito. Se a conta não for encontrada, a exceção RegraDeNegocioException é lançada com a mensagem que você está vendo.
Agora, olhando para a sua captura de tela, vejo que há um problema na instrução SQL que está sendo montada no método alterar da classe ContaDAO. A instrução SQL parece estar incorreta. A string SQL está definida como "UPDATE conta SET saldo = ?,WHERE numero = ?"; e há uma vírgula antes do WHERE que não deveria estar ali. Isso pode causar um erro de sintaxe no SQL quando a instrução for executada.
Para corrigir o problema, você deve remover a vírgula da string SQL, de modo que a instrução fique correta:
String sql = "UPDATE conta SET saldo = ? WHERE numero = ?";
Depois de fazer essa correção, tente executar o depósito novamente. Se o número da conta que você está usando realmente existir no banco de dados, o depósito deve ser realizado com sucesso.
Espero que essa informação ajude a resolver o problema! Bons estudos!
o erro continua mesmo sem a virgula