Erro ao inserir no Posgres: campo é muito longo para o tipo
6 respostas
J
Jonasds
Olá para Todos!
Estou com um problema ao fazer o INSERT em uma tabela do banco!
Ao inserir ocorre um erro informando que o valor digitado é muito longo para o tipo do campo definido no banco, porém este mesmo campo no banco esta definido com um tamanho superior ao digitado. O campo que apresenta o erro é do tipo jFormattedTextField no netbeans.
mensagem apresentada:
org.postgresql.util.PSQLException: ERRO: valor é muito longo para tipo character varying(11)
posta ai a sql, verifique se n tem espaços a direita.
igor_ks
com certeza o erro que está acusando está certo
procure debugar o código e antes de commitar, persistir na base, veja o valor que está nesse campo
J
Jonasds
Olá!
O SQL esta funcionando corretamente no pgAdimin!
Esta captura de tela mostra o objeto sendo populado:
Já esta mostra como está o comando insert:
Já debuguei o código, mas não achei o erro.
Até!!
R
rof20004
Voce esta inserindo uma string com tamanho maior que 1 numa certa coluna… no pgadmin e uma coisa… as vezes devido a formatacoes de campos os valores acabam sendo alterados e persistidos incorretamente… nao e um erro grave… so de uma olhada nos gets dos seus componentes.
fredferrao
Por tudo que é mais sagrado, USE PreparedStatement com parametros.
J
Jonasds
Verifiquei todos os gets relacionados ao preenchimento do objeto até a inserção no banco, mas não encontrei algo que pudesse causar esse erro.
Quanto ao do PreparedStatement, eu realmente já sabia das vantagens do seu uso, tanto que tinha comentado o codigo nesta classe e utilizado Statement para verificar se tinha alguma relação com o erro, mas valeo pela comentário.
Vou modificar o banco separando cliente físico de jurídico, para eliminar algumas possibilidades de erros que as formatações do java possam estar causando.