Olá galera, estou com um problema no java, estou utilizando a varreduar next e previous da classe ResultSet, coloquei no modo sensível e somente leitura, porém quando atualizo e deleto, ele detecta a modificação na varredura, mas no insert não, o que pode estar acontecendo, to dando comit no insert, update e delete.
Classe Delete:
import java.sql.*;
import javax.swing.JOptionPane;
public class Deletar {
Connection con = new Conexao().getConection();
private int codPed;
public Deletar(String cp) {
codPed = Integer.parseInt(cp);
apagarPedidos();
}
public void apagarPedidos() {
try {
Statement comando = con.createStatement();
comando.executeUpdate("Delete tab03PEDIDO where cod_pedido= "+codPed);
InterfacePedidos.tPed.setText("");
InterfacePedidos.tPlaca.setText("");
InterfacePedidos.tFuncionario.setText("");
InterfacePedidos.area.setText("");
JOptionPane.showMessageDialog(null, "Registro apagado com suceso!");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Classe Inserir:
import java.sql.*;
import java.math.*;
import javax.swing.JOptionPane;
public class Inserir {
Connection con = new Conexao().getConection();
ResultSet resultado;
private String placa, obs;
private int codPed, codFunc;
public Inserir(String cp,String p,String cf,String a) {
codPed = Integer.parseInt(cp);
placa = p;
codFunc = Integer.parseInt(cf);
obs = a;
inserirPedidos();
}
public void inserirPedidos() {
try {
Statement comando = con.createStatement();
comando.executeUpdate("Insert into tab03Pedido(cod_pedido,placa,cod_func,obs) " +
"values(" + codPed +",'"+ placa+"',"+ codFunc +",'" + obs+"')");
InterfacePedidos.tPed.setText("");
InterfacePedidos.tPlaca.setText("");
InterfacePedidos.tFuncionario.setText("");
InterfacePedidos.area.setText("");
JOptionPane.showMessageDialog(null, "Registro inserido com suceso!");
} catch (SQLException e) {
// TODO Auto-generated catch block
JOptionPane.showMessageDialog(null,"Dados Inválidos");
}
}
}
Classe alterar:
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;
public class Alterar {
Connection con = new Conexao().getConection();
private String placa, obs;
private int codPed, codFunc;
public Alterar(String cp,String p,String cf,String a) {
codPed = Integer.parseInt(cp);
placa = p;
codFunc = Integer.parseInt(cf);
obs = a;
alterarPedidos();
}
public void alterarPedidos() {
try {
Statement comando = con.createStatement();
comando.executeUpdate("Update tab03PEDIDO set placa = '" +placa+"',cod_func = " + codFunc + ",obs ='"+obs+"' where cod_pedido = " + codPed);
InterfacePedidos.tPed.setText("");
InterfacePedidos.tPlaca.setText("");
InterfacePedidos.tFuncionario.setText("");
InterfacePedidos.area.setText("");
JOptionPane.showMessageDialog(null, "Registro alterado com suceso!");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Classe Avancar:
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;
public class Avancar {
private ResultSet resultado;
Statement comando;
int rows;
public Avancar(Connection con) {
try {
comando = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
resultado = comando.executeQuery("Select * from tab03PEDIDO");
resultado.beforeFirst();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public int avancarPedido() {
try {
if(!resultado.wasNull()) {
resultado.absolute(InterfacePedidos.linha);
resultado.next();
InterfacePedidos.tPed.setText(String.valueOf(resultado.getInt("cod_Pedido")));
InterfacePedidos.tPlaca.setText(resultado.getString("placa"));
InterfacePedidos.tFuncionario.setText(String.valueOf(resultado.getInt("cod_func")));
InterfacePedidos.area.setText(resultado.getString("obs"));
rows = resultado.getRow();
System.out.println("Row: " + rows);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
JOptionPane.showMessageDialog(null,"Registro Inválido");
}
return rows;
}
public void fechar() {
try {
comando.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Classe Retroceder:
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;
public class Retroceder {
private ResultSet resultado;
Statement comando;
int rows;
public Retroceder(Connection con) {
try {
comando = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
resultado = comando.executeQuery("Select * from tab03PEDIDO");
resultado.afterLast();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public int retrocederPedido() {
try {
if(!resultado.wasNull()) {
resultado.absolute(InterfacePedidos.linha);
resultado.previous();
InterfacePedidos.tPed.setText(String.valueOf(resultado.getInt("cod_Pedido")));
InterfacePedidos.tPlaca.setText(resultado.getString("placa"));
InterfacePedidos.tFuncionario.setText(String.valueOf(resultado.getInt("cod_func")));
InterfacePedidos.area.setText(resultado.getString("obs"));
rows = resultado.getRow();
}
else{
System.out.println("Erro no retrocesso");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
JOptionPane.showMessageDialog(null,"Registro Inválido");
}
return rows;
}
public void fechar() {
try {
comando.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
abraço,