Banco de dados

1 resposta
J

bom dia amigos, estou com um problema para navegar nos registros do meu banco de dados.
quando eu clico no botão para avançar um registro a frente, ele salta para o ultimo registro e quando eu clico no botão para
voltar um registro, nada acontece (Os dois botões para ir direto para o ultimo e o primeiro registro funciona perfeitamente)
agradeço desde já a ajuda te todos. Obrigado.

Vou postar meu código:

private void buttonAnteriorMouseClicked(java.awt.event.MouseEvent evt)

{

this.anteriorRegistro();

}

//#################################################################################################################################

//######### MÉTODO PARA ACESSAR O REGISTRO ANTERIOR NA BASE DE DADOS ##############################################################
public void anteriorRegistro()

{

conexao.Conectar(“jdbc:mysql://localhost:3306/avaliacao,root,123);

try

{

conexao.rs = conexao.stmt.executeQuery(“SELECT * FROM clientes”);

while (conexao.rs.previous())

{

fieldCodigo.setText(conexao.rs.getString(“idclientes”));

fieldNome.setText(conexao.rs.getString(“nome”)); // Recebe o dado do campo nome da base de dados e insere no campo NOME do formulario principal

fieldCPF.setText(conexao.rs.getString(“cpf”)); // Recebe o dado do campo cpf da base de dados e insere no campo CPF do formulario principal

fieldRG.setText(conexao.rs.getString(“rg”)); // Recebe o dado do campo rg da base de dados e insere no campo RG do formulario principal

fieldEndereco.setText(conexao.rs.getString(“endereco”)); // Recebe o dado do campo endereco da base de dados e insere no campo ENDEREÇO do formulario principal

fieldBairro.setText(conexao.rs.getString(“bairro”)); // Recebe o dado do campo bairro da base de dados e insere no campo BAIRRO do formulario principal

fieldCidade.setText(conexao.rs.getString(“cidade”)); // Recebe o dado do campo cidade da base de dados e insere no campo CIDADE do formulario principal

comboEstado.setSelectedItem(conexao.rs.getString(“estado”)); // Recebe o dado do campo estado da base de dados e insere no campo ESTADO do formulario principal

fieldCEP.setText(conexao.rs.getString(“cep”)); // Recebe o dado do campo cep da base de dados e insere no campo CEP do formulario principal

fieldDataNasc.setText(conexao.rs.getString(“dataNascimento”)); // Recebe o dado do campo dataNascimento da base de dados e insere no campo DATA DE NASCIMENTO do formulario principal

fieldDataDoCadastro.setText(conexao.rs.getString(“dataCadastro”)); // Recebe o dado do campo dataCadastro da base de dados e insere no campo DATA DO CADASTRO do formulario principal

}

}

catch(SQLException sqlex)

{

sqlex.printStackTrace();

}

}

//################################################################################################################################
private void buttonProximoMouseClicked(java.awt.event.MouseEvent evt) {

proximoRegistro();

}

// ##### MÉTODO PARA ACESSAR O PRÓXIMO REGISTRO DA BASE DADOS ####################################################################
public void proximoRegistro()

{

conexao.Conectar(“jdbc:mysql://localhost:3306/avaliacao,root,123);

try

{

conexao.rs = conexao.stmt.executeQuery(“SELECT * FROM clientes”);
while(conexao.rs.next())

{

fieldCodigo.setText(conexao.rs.getString(idclientes)); // Retorna o código do cliente

fieldNome.setText(conexao.rs.getString(nome)); // Retorna o nome do cliente

fieldCPF.setText(conexao.rs.getString(cpf)); // Retorna o cpf do cliente

fieldRG.setText(conexao.rs.getString(rg)); // Retorna o rg do cliente

fieldDataNasc.setText(conexao.rs.getString(dataNascimento)); // Retorna a data de nascimento do cliente

fieldEndereco.setText(conexao.rs.getString(endereco)); // Retorna o endereço do cliente

fieldBairro.setText(conexao.rs.getString(bairro)); // Retorna o bairro do cliente

fieldCidade.setText(conexao.rs.getString(cidade)); // Retorna a cidade do cliente

comboEstado.setSelectedItem(conexao.rs.getString(estado)); // Retorna o estado do cliente

fieldDataDoCadastro.setText(conexao.rs.getString(dataCadastro));// Retorna a data do cadastro

fieldCEP.setText(conexao.rs.getString(cep)); // Retorna o cep do endereço do clliente

}
}

catch(SQLException sqlex)

{

sqlex.printStackTrace();

JOptionPane.showMessageDialog(null,Erro de SQL);

}

}

1 Resposta

BrunoBastosPJ

Eu vi aqui muito rápido. O problema de ir para o ultimo registro é porque você está usando um while(rs.next), então ele vai até o final do ResultSet.

Modifica esses whiles para ifs e testa.

Abs

Criado 22 de dezembro de 2007
Ultima resposta 22 de dez. de 2007
Respostas 1
Participantes 2