Olá pessoal, mais uma vez peço a colaboração de vcs, seguindo o código abaixo, quando eu altero uma propriedade no meu cadastro, eu chamo o método alterar passando o objeto com as alterações e o código para fazer o update:
private ResultSet buscar(String codigo){
Conexao con = new Conexao();
Statement stmt;
try {
stmt = con.getConnection().createStatement();
String consulta = "SELECT * FROM propriedade WHERE cod_prop = "+ codigo;
ResultSet resultado = stmt.executeQuery(consulta);
if (resultado!=null){
return resultado;
}else
return null;
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null,"Erro inesperado!", "Erro!",JOptionPane.ERROR_MESSAGE);
return null;
}
}
public void alterar(Propriedade objPropriedade, String codigo) throws SQLException{
ResultSet resultado = buscar(codigo);
if (resultado!=null){
Conexao con = new Conexao();
Statement stmt = con.getConnection().createStatement();
String consulta = "UPDATE propriedade SET nome_prop= \"" + objPropriedade.nome_prop + "\", municipio= \"" + objPropriedade.municipio +
"\", area= " + objPropriedade.area + " WHERE cod_prop= " + codigo + ";";
stmt.execute(consulta);
resultado = buscar(codigo);
ResultSetMetaData rsmd = resultado.getMetaData();
int colNums = rsmd.getColumnCount();
Object objects[] = new Object[colNums];
for(int i=0;i<colNums;i++){
objects[i] = resultado.getObject(i+1); //é nessa linha que acontece o erro
}
}
}
Esta dando o seguinte erro:
java.sql.SQLException: Before start of result set
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:926)
at com.mysql.jdbc.ResultSetImpl.checkRowPos(ResultSetImpl.java:835)
at com.mysql.jdbc.ResultSetImpl.getObject(ResultSetImpl.java:4768)
at sysfarm.Propriedade.alterar(Propriedade.java:109)
at gui.CadastroPropriedades.btnSalvarActionPerformed(CadastroPropriedades.java:247)
at gui.CadastroPropriedades.access$100(CadastroPropriedades.java:28)
at gui.CadastroPropriedades$2.actionPerformed(CadastroPropriedades.java:95)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6216)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
at java.awt.Component.processEvent(Component.java:5981)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4583)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4413)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4556)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4220)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4150)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2475)
at java.awt.Component.dispatchEvent(Component.java:4413)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Qual seria o erro neste código?