Erro ResultSet
Estou com um problema em um evento de um botão.
Quero que ao clicar nele o registro anterior ao atual no banco de dados seja exibido no FORM, mas ele me gera o seguinte erro: org.postgresql.util.PSQLException: ResultSet não está posicionado corretamente, talvez você precise chamar next.
O meu código é esse abaixo, alguém poderia me ajudar?
Quero que ao clicar nele o registro anterior ao atual no banco de dados seja exibido no FORM, mas ele me gera o seguinte erro: org.postgresql.util.PSQLException: ResultSet não está posicionado corretamente, talvez você precise chamar next.
O meu código é esse abaixo, alguém poderia me ajudar?
try{
conexaoFilmes.executeSQL("SELECT * FROM filmes");
conexaoFilmes.resultSet.next();
txt_Codigo.setText(String.valueOf(conexaoFilmes.resultSet.getInt("id_serial")));
txt_Titulo.setText(conexaoFilmes.resultSet.getString("titulo_filmes"));
cbx_Genero.setSelectedItem(conexaoFilmes.resultSet.getString("genero_filmes"));
cbx_FaixaPreco.setSelectedItem(conexaoFilmes.resultSet.getString("faixapreco_filmes"));
}
catch(Exception e){
e.printStackTrace();
}
}Paulo Henrique
Curtidas 0
Melhor post
Ronaldo Lanhellas
11/11/2014
Poste o seu método executeSQL, para que eu possa ver como ele funciona.
GOSTEI 1
Mais Respostas
Paulo Henrique
11/11/2014
Olá Ronaldo segue o método.
public void executeSQL(String sql){
try{
statement = conexao.createStatement(resultSet.TYPE_SCROLL_SENSITIVE, resultSet.CONCUR_READ_ONLY);
resultSet = statement.executeQuery(sql);
}
catch(SQLException e){
JOptionPane.showMessageDialog(null, "Erro ao fazer a consulta" + e);
}
}GOSTEI 0
Ronaldo Lanhellas
11/11/2014
Tenta retirar os parâmetros de dentro do método createStatement()
GOSTEI 0
Paulo Henrique
11/11/2014
Acredito que elas sejam necessários pois eu preciso ter um ResultSet rolável.
Tirando os parâmetros me da erro:
Operação requer um ResultSet rolável, mas este ResultSet é FORWARD_ONLY
Tirando os parâmetros me da erro:
Operação requer um ResultSet rolável, mas este ResultSet é FORWARD_ONLY
GOSTEI 0
Ronaldo Lanhellas
11/11/2014
Certo, então tente assim:
while (conexaoFilmes.resultSet.next()){
txt_Codigo.setText(String.valueOf(conexaoFilmes.resultSet.getInt("id_serial")));
txt_Titulo.setText(conexaoFilmes.resultSet.getString("titulo_filmes"));
cbx_Genero.setSelectedItem(conexaoFilmes.resultSet.getString("genero_filmes"));
cbx_FaixaPreco.setSelectedItem(conexaoFilmes.resultSet.getString("faixapreco_filmes"));
}
GOSTEI 0
Paulo Henrique
11/11/2014
Consegui resolver.
Eu estava dando um SELECT * FROM indevido
Da forma abaixou funcionou.
Obrigado.
Eu estava dando um SELECT * FROM indevido
Da forma abaixou funcionou.
Obrigado.
try{
conexaoFilmes.resultSet.next();
txt_Codigo.setText(String.valueOf(conexaoFilmes.resultSet.getInt("id_serial")));
txt_Titulo.setText(conexaoFilmes.resultSet.getString("titulo_filmes"));
cbx_Genero.setSelectedItem(conexaoFilmes.resultSet.getString("genero_filmes"));
cbx_FaixaPreco.setSelectedItem(conexaoFilmes.resultSet.getString("faixapreco_filmes"));
}
catch(Exception e){
e.printStackTrace();
}
}GOSTEI 0
Ronaldo Lanhellas
11/11/2014
Consegui resolver.
Eu estava dando um SELECT * FROM indevido
Da forma abaixou funcionou.
Obrigado.
Eu estava dando um SELECT * FROM indevido
Da forma abaixou funcionou.
Obrigado.
try{
conexaoFilmes.resultSet.next();
txt_Codigo.setText(String.valueOf(conexaoFilmes.resultSet.getInt("id_serial")));
txt_Titulo.setText(conexaoFilmes.resultSet.getString("titulo_filmes"));
cbx_Genero.setSelectedItem(conexaoFilmes.resultSet.getString("genero_filmes"));
cbx_FaixaPreco.setSelectedItem(conexaoFilmes.resultSet.getString("faixapreco_filmes"));
}
catch(Exception e){
e.printStackTrace();
}
}De nada. Disponha.
GOSTEI 0