Verificar qtas linhas query retorna

2 respostas
tads

Bom dia,

Tem um projeto aqui que está utilizando JDBC direto…
Estou tentando utilizar limite para verificar quantas linhas
podem ser retornadas.

Tipo, no método eu passo 2000 como máximo de linhas
a retornar.
Daí eu executo a query e se esta retornar mais que isso, vou
ter que retornar uma mensagem dizendo para
filtrar mais a query.

Eu tava usando assim:

ArrayList list = new ArrayList();

            stmt = conn.createStatement();
            stmt.setMaxRows(2000);
            
            rs = stmt.executeQuery(query);

           while (rs.next())
           {
                    Obj obj = new Obj();
                    obj.setAttribute(rs.getString(...));
                    list.add(obj);
           }

mas assim força ele a retornar 2000. gostaria de fazer que
se a query retornar mais que 2000, então me dê uma mensagem.

Como eu faria isso???

valew!!!

abraço

2 Respostas

rodrigo_gomes

talvez isso ajude

http://www.guj.com.br/forum/viewtopic.php?t=11654&highlight=resultset+last

falows

tads

Eu achei este daí, mas tive que fazer algumas modificações
para não dar exception devido a tentar mover para a última linha…

daí ficou assim:

long numReturned = 0;
            stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
            rs = stmt.executeQuery(query);
            
			rs.last(); 
			numReturned = rs.getRow(); 
			
			if (numReturned > maxNumToReturn)
			{
				throw new Exception("Filtrar mais");
			}


			rs.beforeFirst();

valew

Criado 19 de maio de 2004
Ultima resposta 19 de mai. de 2004
Respostas 2
Participantes 2