Olá bom dia, estou tentando fazer uma consulta SQL e colocar o ResultSet em uma variável, porem não estou conseguindo! Segue o meu código:
public void consultarDesconto(){
String desc;
if (tabelaCaixa.getRowCount() > 0) {
DefaultTableModel modelo = (DefaultTableModel) tabelaCaixa.getModel();
int linha = tabelaCaixa.getSelectedRow();
if (linha >= 0) {
String sql = "SELECT desconto FROM produtos WHERE codigo_pro=?";
try{
pst = conexao.prepareStatement(sql);
pst.setString(1, tabelaCaixa.getValueAt(linha, 0).toString());
rs = pst.executeQuery();
desc = (rs.getString(2));
System.out.println(desc);
}
catch(Exception e)
{
e.printStackTrace();
JOptionPane.showMessageDialog(null,
"Ocorreu erro ao carregar a linha de desconto", "Erro",
JOptionPane.ERROR_MESSAGE);
}
} else {
JOptionPane.showMessageDialog(this, "Selecionar uma Linha.", "Venda", 0,
new ImageIcon(getClass().getResource("/imagens/usuarios/info.png")));
}
} else {
JOptionPane.showMessageDialog(this, "Não há registro para aplicar desconto.", "Venda", 0,
new ImageIcon(getClass().getResource("/imagens/usuarios/info.png")));
}
}
O erro de SQL é justamente na linha em que eu igualo na variável
desc = (rs.getString(2));
Exibe esse erro:
java.sql.SQLException: Before start of result set