Boa tarde. Preciso passar o nchip, numero e rca para String, porém, não estou conseguindo. Tentei usar o parseInt.
public class IncluirEditarMostrarDAO {
Dados ds = new Dados ();
public int Incluir (Dados ds) throws SQLException {
conexao conexao = new conexao();
int registros;
try (PreparedStatement pstmt = conexao.getConexao().prepareStatement
("INSERT INTO Dados (pes_nome, pes_nchip, pes_rca, pes_regiao, pes_numero)" + "VALUES (?,?,?,?,?)")){
pstmt.setString(1,ds.getNome().toUpperCase().trim());
pstmt.setString(2,ds.getNchip().trim());
pstmt.setString(3,ds.getRca().trim());
pstmt.setString(4,ds.getRegiao().trim());
pstmt.setString(5,ds.getNumero().trim());
registros = pstmt.executeUpdate();
}
}
}
Porque o try do seu código possui parênteses recebendo um outro código? Isso está errado. E ainda está faltando um catch ou finally para a sintaxe ficar correta.
Deveria ser:
public class IncluirEditarMostrarDAO {
Dados ds = new Dados ();
public int Incluir (Dados ds) throws SQLException {
conexao conexao = new conexao();
int registros;
try {
PreparedStatement pstmt =
conexao.getConexao()
.prepareStatement("INSERT INTO Dados (pes_nome, pes_nchip, pes_rca, pes_regiao, pes_numero)" + "VALUES (?,?,?,?,?)")
pstmt.setString(1,ds.getNome().toUpperCase().trim());
pstmt.setString(2,ds.getNchip().trim());
pstmt.setString(3,ds.getRca().trim());
pstmt.setString(4,ds.getRegiao().trim());
pstmt.setString(5,ds.getNumero().trim());
registros = pstmt.executeUpdate();
} catch(Exception ex) {
// trata o erro
}
}
}
Então fala int cannot, sei que tem que transformar o int em String, mais a onde eu coloco o parseInt, já coloquei em tudo quanto e lugar e continua com a mesma informação
Ainda parece vago, mas assim:
pstmt.setString é para setar uma String em um campo, se ele for deste tipo no banco.
Se ele for int no banco vc deve usar pstmt.setInt