Boa tarde colegas, estou com um probleminha, e preciso da ajuda de voçês para solucionar.
Criei um formulário em java, conectei com o banco postgresql, insiro dados neste banco através do formulario, consigo fazer consulta neste banco de alguns dados e outros não, por exemplo tenho uns membros de numeros 991,990,854,14,… consigo fazer uma pesquisa digitando no formulário os respectivos numeros de cadastro, ok. Mas tenho também outros membros com os números 1204, 1205, 1258 e quando digito alguns destes numeros de cadastros não consigo fazer a consulta e recebo de retorno a seguinte mensagem:
(erro na consulta java.lang.StringIndexOutBoundsException: String index ouit of range:4),
quando digito só o número 12 tenho como retorno os dados do membro 1204, que no banco se localiza antes do 1205 e 1258. Já o 1205 e o 1258 não consigo de jeito nenhum consultar seus dados.
Queria enteder este mistério, e saber onde estou errando?
segue parte do código para fazer a consulta.
[code]
public void consultar()
{
try
{
obj_conexao.resultset.first();
String igual = “n”;
int tamanho_pesquisa = jf_codigo.getText().length();
while(igual.equals(“n”))
{
String consultado = obj_conexao.resultset.getString(“c_codigo”).substring(0,(tamanho_pesquisa));
if (consultado.equals(jf_codigo.getText()))
{
igual = “s”;
}
else
obj_conexao.resultset.next();
}
jf_nome.setText(obj_conexao.resultset.getString("c_nome"));
jf_end.setText(obj_conexao.resultset.getString("c_end"));
jf_cidade.setText(obj_conexao.resultset.getString("c_cidade"));
jf_congreg.setText(obj_conexao.resultset.getString("c_congreg"));
jf_bairro.setText(obj_conexao.resultset.getString("c_bairro"));
jf_uf.setText(obj_conexao.resultset.getString("c_uf"));
jf_pai.setText(obj_conexao.resultset.getString("c_pai"));
jf_mae.setText(obj_conexao.resultset.getString("c_mae"));
jf_sexo.setText(obj_conexao.resultset.getString("c_sexo"));
jf_cargo.setText(obj_conexao.resultset.getString("c_cargo"));
jf_estado_civil.setText(obj_conexao.resultset.getString("c_estadocivil"));
jf_local_batismo.setText(obj_conexao.resultset.getString("c_localbatismo"));
jf_data_batismo.setText(obj_conexao.resultset.getString("c_databatismo"));
jf_data_nascimento.setText(obj_conexao.resultset.getString("c_datanascimento"));
jf_rg.setText(obj_conexao.resultset.getString("c_rg"));
jf_cpf.setText(obj_conexao.resultset.getString("c_cpf"));
jf_status.setText(obj_conexao.resultset.getString("c_status"));
jf_obs.setText(obj_conexao.resultset.getString("c_obs"));
mostrar_dados();
}
catch(Exception erro)
{
JOptionPane.showMessageDialog(null, "Erro na consulta "+erro);
}
}
[/code]