SELECT retorna Lista com Array de Objetos

2 respostas
R

Pessoal,

tenho a seguinte função:

"Essa função eh usada para fazer uma especie de filtro de parametros passados para consulta em uma Tabela"

public List listarLogs(String cdFc, String nrRgi, String nmTela,
			String tpAcao, String cdUsuario) throws DAOException {

		cdFc = cdFc != null ? cdFc : "%";
		nrRgi = nrRgi != null ? nrRgi : "%";
		nmTela = nmTela != null ? nmTela : "%";
		tpAcao = tpAcao != null ? tpAcao : "%";
		cdUsuario = cdUsuario != null ? cdUsuario : "%";

			try {
				
				return super.executarBuscaNativa(

						" select * from FLC_LOG_LOG where CD_FC LIKE '" + cdFc
						+ "' AND NR_RGI LIKE '" + nrRgi
						+ "' AND NM_TELA LIKE '" + nmTela
						+ "' AND TP_ACAO LIKE '" + tpAcao.toString()
						+ "' AND upper (CD_USUARIO) LIKE upper ('" + cdUsuario + "')",
				
						
				new String[] { "CD_LOG", "DT_EVENTO", "CD_FC", "NR_RGI",
						"NM_FUNCIONALIDADE", "NM_TABELA", "TP_ACAO",
						"DS_ATRIBUTOS_SQL", "NM_TELA", "NM_PAGINA",
						"CD_USUARIO", "NR_CPF", "NR_RNE", "NR_CNPJ", "NR_IP",
						"NM_NAVEGADOR", "NR_RG" }

				); 

			} catch (DAOException e) {
				e.printStackTrace();
			}

			return null;
		}

no meu Main eu passo os parametros para fazer minha consulta:

public static void main(String[] args) {

	try {

	// aqui eu passos os parametros. Podem ser todos, apenas um deles, ou o casamento de todos.)		
	System.out.println(new FlcConsultarLogDAOImpl()
                               .listarLogs("490", null, null, null, null));
			
	} catch (Exception e) {
		e.printStackTrace();
	}

	}

o problema eh que isso esta me retornando uma lista com um Array de Objetos:

e o que eu preciso é apenas uma lista com os valores dos campos informados no meu metodo listarLogs

[[Ljava.lang.Object;@3920f707, [Ljava.lang.Object;@3677b707, [Ljava.lang.Object;@43ef3700, [Ljava.lang.Object;@43883700, [Ljava.lang.Object;@43113700, [Ljava.lang.Object;@44ba3700, [Ljava.lang.Object;@44433700]

Alguem poderia me ajudar com relação a isso? =/

Desde ja
Muito obrigado pessoal..

2 Respostas

R

Jogue numa List o valor retornado pelo método listarLogs() e percorra essa List do início ao fim. Para cada elemento da List, faça o cast desse elemento para um array Object[] e em seguida percorra o array, fazendo finalmente o seu processamento específico:

List lst = listarLogs(...);
for (int i = 0; i < lst.size(); i++) {
  Object[] arr = (Object[]) lst.get(i);
  for (int j = 0; j < arr.length; j++) {
    System.out.println(arr[j].toString());
  }
}
R

Valeu pela força Roger!

deu certinhooooo! muito obrigadoo! =)

abs

Criado 29 de maio de 2009
Ultima resposta 29 de mai. de 2009
Respostas 2
Participantes 2