Olá. Estou estou fazendo meu primeiro projeto em java utilizando banco de dados SQL SERVER 2014.
A tela de cadastro esta funcionando corretamente, mas o que está me causando problema é que ao consultar os dados no banco, as palavras que possuem acentos, não estão aparecendo corretamente. Por exemplo, o nome JOSÉ, ao fazer o Select no banco aparece JOSÉ.
Se eu consultar o registro na tela por onde foi inserido o registro aparece corretamente.
Agora se eu inserir o nome JOSÉ com INSERT direto no banco, no Select aparece corretamente, mas quando chamo o registo na tela do aplicativo pelo ID aparece JOS?
Preciso que quando inserir os dados no banco tanto pelo aplicativo quanto diretamente no banco as informações sejam iguais.
Estou utilizando o método abaixo para incluir os dados na tabela:
public int incluir(pessoas objpes) throws SQLException{
conexao conexao = new conexao();
int registros;
try(PreparedStatement pstmt = conexao.getConexao().prepareStatement
("INSERT INTO pessoas (pes_nome, pes_rg, pes_cpf, pes_end, pes_tel, pes_dtcadastro,pes_status)" +
" VALUES (?,?,?,?,?,?,?)")){
pstmt.setString(1,objpes.getPes_nome().toUpperCase().trim());
pstmt.setString(2,objpes.getPes_rg().trim());
pstmt.setString(3,objpes.getPes_cpf().trim());
pstmt.setString(4,objpes.getPes_end().trim());
pstmt.setString(5,objpes.getPes_tel().trim());
pstmt.setTimestamp(6,new java.sql.Timestamp(objpes.getPes_dtcadastro().getTime()));
pstmt.setInt(7,objpes.getPes_status());
registros = pstmt.executeUpdate();
}
PreparedStatement pstmtAux = conexao.getConexao().prepareStatement("SELECT @@IDENTITY");
ResultSet rs = pstmtAux.executeQuery();
int codigo = 0;
if((registros ==1)&&(rs !=null)){
rs.next();
codigo = rs.getInt(1);
return codigo;}
else{
return codigo;
}
}
O que devo estar fazendo de errado?
Obrigado.