For input string: ""

Alguém pode me ajudar com esse erro…erro esta nessa linha.
cli_id = Integer.parseInt(request.getParameter("cli_id"));

estou enviando comando para incluir no banco e campo do id é auto incremental. tentei alterar a comando sql para tentar corrigir, mas tbm não funcionou.

Primeira tentativa
String sql = "insert into tb_cliente(cli_nmprojeto,cli_nome,cli_descricao,cli_screenshot,cli_status)values(?,?,?,?,?)";

Segunda tentativa
String sql = “insert into tb_cliente(cli_id,cli_nmprojeto,cli_nome,cli_descricao,cli_screenshot,cli_status)values(null,?,?,?,?,?)”;

Rafael, bom dia.

você esta passando null para o cli_id, acredito que isso não seja necessário e nem seja uma boa prática de programação, eu só utilizo java para aplicarções desktop, quando vou fazer uma inserção não é necessário passar o cli_id pois no banco de dados o mesmo está como auto-incremente, isso utilizando em mySql. Tente mudar seu sql e deixe dessa forma.

String sql = “insert into tb_cliente(cli_nmprojeto, cli_nome, cli_descricao, cli_screenshot, cli_status) values (?, ?, ?, ?, ?);”;

Bom dia Marcio ,
Então esse comando foi minha primeira tentativa. O problema é que está vindo em brando cli_id e quando faço a conversão com comando parseInt ocorre o erro"For input string’’ ", e não sei motivo de estar acontecendo.

Printa no console antes de converter ai vc vai ver oq está vindo, ou debuga.
Se o valor passado fosse null, o erro seria: NumberFormatException: null
No caso, para For input string: “” quer dizer q vc está tentando converter “” para integer op obviamente não é possível.

Eu debuguei e esta vindo em branco "’ mesmo e não null, e não sei o motivo pois o campo é auto incremental. Eu tentei forçar a crianção com esse comando, mas não funcionou.

Isso não tem nada a ver com o insert, ou o campo ser autoincremento.
Seu erro está nesta linha:
cli_id = Integer.parseInt(request.getParameter(“cli_id”));
Bem provável pq o FRONTEND está mandando este valor.

if(request.getParameter("cli_id") != null && !request.getParameter("cli_id").equals(""));{
   cli_id = Integer.parseInt(request.getParameter("cli_id"));
}

E o mais estranho é que mesmo com campo em branco está passando na validação.

Pode ser que esteva vindo um " " (espaço) no valor. Testa o seguinte:
!request.getParameter("cli_id").trim().equals("")

Fiz o teste e também passou na validação e ocorreu o erro.

Mas qual é o valor que está vindo exatamente?
Usa o código abaixo pra printa no console:
System.out.println("’"+request.getParameter(“cli_id”)+"’");

O teu, teu IF tá ERRADO, não se põe ; no fim do IF.

Muito obrigado, erro de iniciante.