Boa tarde. Tentei procurar pelo forum um problema parecido, e parece que nao existe. Ando com um problema de nao conseguir retornar uma Lista. Desconfio que seja um problema de escopo por causa do bloco while dentro do bloco try:
public List<DadosPessoais> todosDadosPessoais() throws Exception
{
Statement st = null;
ResultSet rs = null;
Integer codigoDadosPessoais = null;
String nomeDadosPessoais = null;
String estadoCivil = null;
String filiacaoPai = null;
String filiacaoMae = null;
String dataNascimento = null;
String naturalidade = null;
String nacionalidade = null;
String documentoIdentificacao = null;
String tipoDocumentoIdentificacao = null;
String numeroDocumentoIdentificacao = null;
String dataEmissaoDocumentoIdentificacao = null;
String entidadeLocalEmissao = null;
String numeroContribuinteFiscal = null;
String reparticaoFinancas = null;
String grauInstrucao = null;
// Aqui vai a lista
List dadosPessoaisLista = new ArrayList();
// segue o bloco try
try
{
con = Conexao.getConnection();
st = con.createStatement();
rs = st.executeQuery("SELECT * FROM dadospessoais");
DadosPessoais dadosPessoais;
// enquanto for verdade
while (rs.next())
{
codigoDadosPessoais = rs.getInt("id_dadospessoais");
nomeDadosPessoais = rs.getString("nomeDadosPessoais");
estadoCivil = rs.getString("estado_civil_dados_pessoais");
filiacaoPai = rs.getString("filiacao_pai_dados_pessoais");
filiacaoMae = rs.getString("filiacao_mae_dados_pessoais");
dataNascimento = rs.getString("data_nascimento_dados_pessoais");
naturalidade = rs.getString("naturalidade_dados_pessoais");
nacionalidade = rs.getString("nacionalidade_dados_pessoais");
documentoIdentificacao = rs.getString("documento_identificacao_dados_pessoais");
tipoDocumentoIdentificacao = rs.getString("tipo_documento_identificacao_dados_pessoais");
numeroDocumentoIdentificacao = rs.getString("numero_documento_identificacao_dados_pessoais");
dataEmissaoDocumentoIdentificacao = rs.getString("data_emissao_documento_identificacao_dados_pessoais");
entidadeLocalEmissao = rs.getString("entidade_local_emissao_dados_pessoais");
numeroContribuinteFiscal = rs.getString("numero_contribuinte_fiscal_dados_pessoais");
reparticaoFinancas = rs.getString("reparticao_financas_dados_pessoais");
grauInstrucao = rs.getString("grau_instrucao_dados_pessoais");
// Chamo o construtor e atiro os valores para os sets
dadosPessoais = new DadosPessoais(codigoDadosPessoais, estadoCivil, filiacaoPai, filiacaoMae, dataNascimento, naturalidade, nacionalidade, documentoIdentificacao, tipoDocumentoIdentificacao, numeroDocumentoIdentificacao, dataEmissaoDocumentoIdentificacao, entidadeLocalEmissao, numeroContribuinteFiscal, reparticaoFinancas, grauInstrucao);
// em seguida preencho a lista
dadosPessoaisLista.add(dadosPessoais);
// passa a proxima iteraccao
}
}
catch (Exception ex)
{
ex.printStackTrace();
}
// aqui retorno a lista preenchida. seria suposto retornar. Mas esta lista retorna vazia pelos testes que realizei
return dadosPessoaisLista;
}
Fiz uns testes. Preenchi a lista estaticamente, antes do bloco try e ja nao retornava 0 (pelos testes que fiz retorna 0 com dadosPessoaisLista.size())
Esta uma coisa meio estranha. Ja trabalhei deste modo antes e nao tive problemas.
Sera que alguem me pode dar uma ajuda?