Movimentação de Registros

3 respostas
A

Alguém tem um exemplo
de um programa que conecta com banco de dados e faz movimentações
dos registros, tipo, proximo, anterior, etc.

Estou conseguindo conectar e apresentar os dados, mas na hora de
ficar movimentando não está dando certo.

Depois que fiz a conexao, crei os objeitos Statement e ResultSet,
eu criei os dois metodos abaixo, para ir para o registro anterior
e próximo registro, respectivamente. Consigo ir para o próximo, mas não consigo voltar.

Alguem tem uma ideia melhor de fazer isto, ou uma solução para meu código?

Obrigado.
Anderson

[color=“green”] public void anteriorReg() {

String codigo, municipio;
try{

rec.previous();

codigo = rec.getString(1);	

municipio = rec.getString(2);
textMunicipio.setText(municipio);
            textCod.setText(codigo);

}

catch (Exception e ){

System.out.println ("Erro");

}

}
public void proximoReg() {

String codigo, municipio;

try{

rec.next();

codigo = rec.getString(1);	

municipio = rec.getString(2);
textMunicipio.setText(municipio);
            textCod.setText(codigo);

}

catch (Exception e ){

System.out.println ("Erro");

}

}[/color]

3 Respostas

T

de uma olhada

Crie um metodo que retorne um List ou Arraylist

public ArrayList getTsisorDespesa_Paga()throws UnespException{
     
     TsisorDespesa_Paga despesa = new  TsisorDespesa_Paga();
     
     String sql = "SELECT numdespesa, strcoddespesa, strdespesa, chrprogfin "
                + " FROM tsisordespesa_paga "
                + " ORDER BY strcoddespesa";
            
     try{
       ResultSet res = conn.executeQuery(sql);
       
       registros.clear();
       while (res.next()){
         despesa.setNumDespesa(res.getInt(1));
         despesa.setStrCodDespesa(res.getString(2));
         despesa.setStrDespesa(res.getString(3));
         despesa.setChrProgFin(res.getString(4));
         this.registros.add(despesa);
         despesa = new TsisorDespesa_Paga();
       }
       res.close();
     }catch(Exception e){
       e.getMessage();
      } 
    return registros; 
  }

assim é bem mais facil de trabalhar.

M

vc nao consegue voltar por que o resultset eh forwardOnly(somente para frente) …
para reverter isso quando vc chamar o metodo “createstament” da conexao passe por parametro as seguintes constantes assim :
[Nome do statement] = [nomedaConexao].CreateStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE)

assim vc podera usar os metodos previous e first do resultset gerado a partir deste statement !

sacou ?

qualquer duvida posta de novo !

M
"teofilo":
de uma olhada

Crie um metodo que retorne um List ou Arraylist

public ArrayList getTsisorDespesa_Paga()throws UnespException{
     
     TsisorDespesa_Paga despesa = new  TsisorDespesa_Paga();
     
     String sql = "SELECT numdespesa, strcoddespesa, strdespesa, chrprogfin "
                + " FROM tsisordespesa_paga "
                + " ORDER BY strcoddespesa";
            
     try{
       ResultSet res = conn.executeQuery(sql);
       
       registros.clear();
       while (res.next()){
         despesa.setNumDespesa(res.getInt(1));
         despesa.setStrCodDespesa(res.getString(2));
         despesa.setStrDespesa(res.getString(3));
         despesa.setChrProgFin(res.getString(4));
         this.registros.add(despesa);
         despesa = new TsisorDespesa_Paga();
       }
       res.close();
     }catch(Exception e){
       e.getMessage();
      } 
    return registros; 
  }

assim é bem mais facil de trabalhar.

dessa maneira tb funciona show mas o problema eh se vc quiser utilizar os metodos de edicao como ("deleterow","insertrow",updaterow") nao da !

Mas se for so pra navegacao funciona perfeitamente !

Criado 2 de agosto de 2005
Ultima resposta 2 de ago. de 2005
Respostas 3
Participantes 3