- Posta o nome e o tipo de dado das colunas;
- Posta o código completo da tela que você fez.
Segue abaixo o código completo e tabela do banco de dados
create table tbproduto(
produto_cod int primary key auto_increment,
produto_nome varchar(100) not null,
produto_valor decimal(10,2) not null,
produto_estoque int(11) not null,
produto_imagem varchar(100)
);
Esse é o modelo da tela Produto
private int codProduto;
private String nomeProduto;
private double valorProduto;
private int estoqueProduto;
private String caminhoProduto;
private String pesquisaProduto;
public ModeloProduto() {
}
public ModeloProduto(int codProduto, String nomeProduto, double valorProduto, int estoqueProduto) {
this.codProduto = codProduto;
this.nomeProduto = nomeProduto;
this.valorProduto = valorProduto;
this.estoqueProduto = estoqueProduto;
this.caminhoProduto = caminhoProduto;
this.pesquisaProduto = pesquisaProduto;
}
/**
* @return the codProduto
*/
public int getCodProduto() {
return codProduto;
}
/**
* @param codProduto the codProduto to set
*/
public void setCodProduto(int codProduto) {
this.codProduto = codProduto;
}
/**
* @return the nomeProduto
*/
public String getNomeProduto() {
return nomeProduto;
}
/**
* @param nomeProduto the nomeProduto to set
*/
public void setNomeProduto(String nomeProduto) {
this.nomeProduto = nomeProduto;
}
/**
* @return the valorProduto
*/
public double getValorProduto() {
return valorProduto;
}
/**
* @param valorProduto the valorProduto to set
*/
public void setValorProduto(double valorProduto) {
this.valorProduto = valorProduto;
}
/**
* @return the estoqueProduto
*/
public int getEstoqueProduto() {
return estoqueProduto;
}
/**
* @param estoqueProduto the estoqueProduto to set
*/
public void setEstoqueProduto(int estoqueProduto) {
this.estoqueProduto = estoqueProduto;
}
/**
* @return the caminhoProduto
*/
public String getCaminhoProduto() {
return caminhoProduto;
}
/**
* @param caminhoProduto the caminhoProduto to set
*/
public void setCaminhoProduto(String caminhoProduto) {
this.caminhoProduto = caminhoProduto;
}
/**
* @return the pesquisaProduto
*/
public String getPesquisaProduto() {
return pesquisaProduto;
}
/**
* @param pesquisaProduto the pesquisaProduto to set
*/
public void setPesquisaProduto(String pesquisaProduto) {
this.pesquisaProduto = pesquisaProduto;
}
}
– Abaixo Controle produto
public class ControleProduto {
Conexao con = new Conexao();
Connection conexao;
PreparedStatement pst;
ResultSet rs;
public void InserirProduto(ModeloProduto modelo) {
String sql = "insert into tbproduto(produto_nome,produto_valor,produto_estoque,produto_imagem)values(?,?,?,?)";
try {
conexao = Conexao.conector();
pst = conexao.prepareStatement(sql);
pst.setString(1, modelo.getNomeProduto());
pst.setDouble(2, modelo.getValorProduto());
pst.setInt(3, modelo.getEstoqueProduto());
pst.setString(4, modelo.getCaminhoProduto());
int inserido = pst.executeUpdate();
if (inserido > 0) {
JOptionPane.showMessageDialog(null, "Produto inserido com sucesso");
}
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "Erro ao inserir produto " + ex);
System.out.println("Erros " + ex.getMessage());
}
}
public void editarProduto(ModeloProduto modelo) {
String sql = "update tbproduto set produto_nome=?,produto_valor=?,produto_estoque=?,produto_imagem=? where produto_cod=?";
try {
conexao = Conexao.conector();
pst = conexao.prepareStatement(sql);
pst.setString(1, modelo.getNomeProduto());
pst.setDouble(2, modelo.getValorProduto());
pst.setInt(3, modelo.getEstoqueProduto());
pst.setString(4, modelo.getCaminhoProduto());
pst.setInt(5, modelo.getCodProduto());
int atualizado = pst.executeUpdate();
if (atualizado > 0) {
JOptionPane.showMessageDialog(null, "Produto editado com sucesso");
}
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "Erro ao editar produto. \n ERRO: " + ex.getMessage());
System.out.println("Erros " + ex.getMessage());
}
}
public void exluirProduto(ModeloProduto modelo) {
Conexao.conector();
String sql = "delete from tbproduto where produto_cod = ?";
try {
pst = conexao.prepareStatement(sql);
pst.setInt(1, modelo.getCodProduto());
pst.executeUpdate();
JOptionPane.showMessageDialog(null, "Produto excluido com sucesso");
} catch (HeadlessException | SQLException e) {
JOptionPane.showMessageDialog(null, "Erro ao excluir produto " + e.getMessage());
}
}
public void pesquisarProduto(ModeloProduto modelo) {
String sql = "select * from tbproduto where produto_nome like'%" + modelo.getPesquisaProduto() + "%'";
try {
conexao = Conexao.conector();
pst = conexao.prepareStatement(sql);
rs = pst.executeQuery();
if (rs.next()) {
modelo.setCodProduto(Integer.parseInt(rs.getString("produto_cod")));
modelo.setNomeProduto(rs.getString("produto_nome"));
modelo.setValorProduto(Double.parseDouble(rs.getString("produto_valor")));
modelo.setEstoqueProduto(Integer.parseInt(rs.getString("produto_estoque")));
modelo.setCaminhoProduto(rs.getString("produto_imagem"));
} else if (rs.next() == false) {
JOptionPane.showMessageDialog(null, "Produto não existe");
}
} catch (SQLException e2) {
JOptionPane.showMessageDialog(null, "Erro ao pesquisar produto");
System.out.println(e2);
}
}
}
Agora abaixo a tela que estou tendo problemas
public class TelaPDV extends javax.swing.JInternalFrame {
Connection conn;
Conexao conexao = new Conexao();
ModeloPDV modelo = new ModeloPDV();
ControlePDV controleP = new ControlePDV();
ControlePDV controle = new ControlePDV();
ModeloProduto modeloPro = new ModeloProduto();
PreparedStatement pst;
ResultSet rs;
int flag = 0;
int enter = 0;
DefaultListModel modeloList;
/**
* Creates new form TelaPDV
*/
public TelaPDV() {
initComponents();
conn = Conexao.conector();
preencherCliente();
lista.setVisible(false);
modeloList = new DefaultListModel();
lista.setModel(modeloList);
}
public void preencherCliente() {
conn = Conexao.conector();
String sql = "Select * from tbcliente order by nomecli";
try {
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
rs.first();
cbClientes.removeAllItems();
do {
cbClientes.addItem(rs.getString("nomecli"));
} while (rs.next());
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, "Erro ao preencher clientes " + e.getMessage());
System.out.println(e.getMessage());
}
}
public void setPosicao() {
Dimension d = this.getDesktopPane().getSize();
this.setLocation((d.width - this.getSize().width) / 2, (d.height - this.getSize().height) / 2);
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
grupoDeBotoes = new javax.swing.ButtonGroup();
jPanel1 = new javax.swing.JPanel();
txtQuantidade = new javax.swing.JTextField();
txtDesconto = new javax.swing.JTextField();
txtValorUnitario = new javax.swing.JTextField();
txtValorTotal = new javax.swing.JTextField();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
cbClientes = new javax.swing.JComboBox<>();
jLabel8 = new javax.swing.JLabel();
jPanel2 = new javax.swing.JPanel();
txtPesquisa_ProdutosServicos = new javax.swing.JTextField();
lista = new javax.swing.JList<>();
rbProdutos = new javax.swing.JRadioButton();
rbServicos = new javax.swing.JRadioButton();
jLabel6 = new javax.swing.JLabel();
lblItens = new javax.swing.JLabel();
btnAdicionar = new javax.swing.JButton();
btnFinalizaVenda = new javax.swing.JButton();
btnCancelaVenda = new javax.swing.JButton();
btnNovaVenda = new javax.swing.JButton();
jPanel3 = new javax.swing.JPanel();
jScrollPane1 = new javax.swing.JScrollPane();
tblPDV = new javax.swing.JTable();
setClosable(true);
setIconifiable(true);
jPanel1.setBackground(new java.awt.Color(206, 202, 202));
jPanel1.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED));
txtQuantidade.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
txtDesconto.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
txtValorUnitario.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
txtValorUnitario.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
txtValorUnitarioActionPerformed(evt);
}
});
txtValorTotal.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jLabel1.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jLabel1.setText("QUANTIDADE");
jLabel2.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jLabel2.setText("DESCONTO %");
jLabel3.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jLabel3.setText("VALOR UNITÁRIO R$");
jLabel4.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jLabel4.setText("VALOR TOTAL R$");
cbClientes.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
cbClientes.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
jLabel8.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jLabel8.setText("Cliente");
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(cbClientes, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(txtValorUnitario)
.addComponent(txtValorTotal)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel1)
.addComponent(txtQuantidade, javax.swing.GroupLayout.PREFERRED_SIZE, 162, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 30, Short.MAX_VALUE)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(txtDesconto, javax.swing.GroupLayout.PREFERRED_SIZE, 144, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel2)))
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel3)
.addComponent(jLabel4)
.addComponent(jLabel8))
.addGap(0, 0, Short.MAX_VALUE)))
.addContainerGap())
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap(24, Short.MAX_VALUE)
.addComponent(jLabel8)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(cbClientes, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(28, 28, 28)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
.addComponent(jLabel2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(txtDesconto, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(16, 16, 16))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(txtQuantidade, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)))
.addComponent(jLabel3)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(txtValorUnitario, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(24, 24, 24)
.addComponent(jLabel4)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(txtValorTotal, javax.swing.GroupLayout.PREFERRED_SIZE, 52, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(52, 52, 52))
);
jPanel1Layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {cbClientes, txtDesconto, txtQuantidade, txtValorTotal, txtValorUnitario});
jPanel2.setBackground(new java.awt.Color(206, 202, 202));
jPanel2.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED));
txtPesquisa_ProdutosServicos.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
txtPesquisa_ProdutosServicos.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(0, 0, 0), 1, true));
txtPesquisa_ProdutosServicos.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
txtPesquisa_ProdutosServicosActionPerformed(evt);
}
});
txtPesquisa_ProdutosServicos.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
txtPesquisa_ProdutosServicosKeyPressed(evt);
}
public void keyReleased(java.awt.event.KeyEvent evt) {
txtPesquisa_ProdutosServicosKeyReleased(evt);
}
});
lista.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
lista.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
listaMouseClicked(evt);
}
});
grupoDeBotoes.add(rbProdutos);
rbProdutos.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
rbProdutos.setText("Produtos");
rbProdutos.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
rbProdutosActionPerformed(evt);
}
});
grupoDeBotoes.add(rbServicos);
rbServicos.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
rbServicos.setText("Serviços");
jLabel6.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jLabel6.setText("Itens");
lblItens.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
lblItens.setText("Itens");
btnAdicionar.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
btnAdicionar.setText("ADICIONAR");
btnAdicionar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnAdicionarActionPerformed(evt);
}
});
btnFinalizaVenda.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
btnFinalizaVenda.setText("Finalizar Venda");
btnCancelaVenda.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
btnCancelaVenda.setText("Cancela Venda");
btnNovaVenda.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
btnNovaVenda.setText("Nova venda");
tblPDV.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.LOWERED));
tblPDV.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
tblPDV.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{},
{},
{},
{}
},
new String [] {
}
));
tblPDV.setGridColor(new java.awt.Color(255, 255, 255));
jScrollPane1.setViewportView(tblPDV);
javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
jPanel3.setLayout(jPanel3Layout);
jPanel3Layout.setHorizontalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 535, Short.MAX_VALUE)
);
jPanel3Layout.setVerticalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 98, Short.MAX_VALUE)
.addContainerGap())
);
javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(10, 10, 10)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(rbProdutos)
.addGap(10, 10, 10)
.addComponent(rbServicos)
.addGap(230, 230, 230)
.addComponent(jLabel6)
.addGap(10, 10, 10)
.addComponent(lblItens))
.addGroup(jPanel2Layout.createSequentialGroup()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(6, 6, 6)
.addComponent(lista, javax.swing.GroupLayout.PREFERRED_SIZE, 390, javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(txtPesquisa_ProdutosServicos, javax.swing.GroupLayout.PREFERRED_SIZE, 406, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(6, 6, 6)
.addComponent(btnAdicionar))
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(btnFinalizaVenda)
.addGap(6, 6, 6)
.addComponent(btnCancelaVenda, javax.swing.GroupLayout.PREFERRED_SIZE, 135, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(10, 10, 10)
.addComponent(btnNovaVenda))))
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(11, 11, 11)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(4, 4, 4)
.addComponent(rbProdutos))
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(4, 4, 4)
.addComponent(rbServicos))
.addComponent(jLabel6, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(2, 2, 2)
.addComponent(lblItens, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(7, 7, 7)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(txtPesquisa_ProdutosServicos, javax.swing.GroupLayout.PREFERRED_SIZE, 48, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btnAdicionar, javax.swing.GroupLayout.PREFERRED_SIZE, 48, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(43, 43, 43)
.addComponent(lista, javax.swing.GroupLayout.PREFERRED_SIZE, 152, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(18, 18, 18)
.addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(btnFinalizaVenda, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btnCancelaVenda, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(3, 3, 3)
.addComponent(btnNovaVenda))))
);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap())
);
pack();
}// </editor-fold>
private void txtValorUnitarioActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void btnAdicionarActionPerformed(java.awt.event.ActionEvent evt) {
}
private void txtPesquisa_ProdutosServicosKeyPressed(java.awt.event.KeyEvent evt) {
}
TelaAdicionaProdutosVenda telaAdProVenda;
private void rbProdutosActionPerformed(java.awt.event.ActionEvent evt) {
if (telaAdProVenda == null) {
telaAdProVenda = new TelaAdicionaProdutosVenda();
desktop.add(telaAdProVenda);
telaAdProVenda.setVisible(true);
telaAdProVenda.setPosicao();
} else if (telaAdProVenda.isClosed()) {
telaAdProVenda = new TelaAdicionaProdutosVenda();
desktop.add(telaAdProVenda);
telaAdProVenda.setVisible(true);
telaAdProVenda.setPosicao();
desktop.moveToFront(telaAdProVenda);
} else {
JOptionPane.showMessageDialog(null, "A tela usuário já esta aberta");
}
desktop.moveToFront(telaAdProVenda);
}
private void txtPesquisa_ProdutosServicosKeyReleased(java.awt.event.KeyEvent evt) {
listaDePesquisa();
// modeloPro.setPesquisaProduto(txtPesquisa_ProdutosServicos.getText());
// controleP.listaDePesquisa(modeloPro);
// txtValorUnitario.setText(String.valueOf(modeloPro.getValorProduto()));
}
private void txtPesquisa_ProdutosServicosActionPerformed(java.awt.event.ActionEvent evt) {
}
private void listaMouseClicked(java.awt.event.MouseEvent evt) {
lista.setVisible(true);
preencheCampos();
// teste();
}
// public void ListaDeProdutos(ModeloProduto modelo) {
// modelo.setPesquisaProduto(txtPesquisa_ProdutosServicos.getText());
// controle.pesquisarProduto(modelo);
//
//
// //preencherTabela(“select * from tbproduto where produto_nome like’%” + modelo.getPesquisaProduto() + “%’”);
// }
public void listaDePesquisa() {
String sql = “Select * from tbproduto where produto_nome like '” + txtPesquisa_ProdutosServicos.getText() + “%'order by produto_nome”;
//String sql = “Select produto_cod,produto_nome,produto_valor,produto_estoque from tbproduto where produto_nome like '” + txtPesquisa_ProdutosServicos.getText() + “%'order by produto_nome”;
modeloList.removeAllElements();
try {
conn = Conexao.conector();
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
int v = 0;
while (rs.next() & v < 8) {
//modeloList.addElement(rs.getString(“produto_valor”) + " " + rs.getString(“produto_nome”));
modeloList.addElement(rs.getString(“produto_nome”));
v++;
}
if (v >= 1) {
lista.setVisible(true);
} else {
lista.setVisible(false);
}
} catch (SQLException erro) {
JOptionPane.showMessageDialog(null, "Erro ao listar dados " + erro);
}
}
// public void mostraProduto() {
// conn = Conexao.conector();
// try {
// int linha = lista.getSelectedIndex();
// if (linha >= 0) {
// String sql = “Select produto_cod,produto_nome,produto_valor,produto_estoque from tbproduto where produto_nome '” + “” + txtPesquisa_ProdutosServicos.getText() + "%’ order by produto_nome " + linha;
// pst = conn.prepareStatement(sql);
// rs = pst.executeQuery();
// }
// } catch (SQLException erro) {
// JOptionPane.showMessageDialog(null, "Erro ao mostrar dados " + erro);
// }
// }
public void teste() {
conn = Conexao.conector();
int linha = lista.getSelectedIndex();
try {
String sql = "Select produto_valor from tbproduto where produto_cod = ?";
//String sql = "Select produto_valor from tbproduto where produto_cod='" + linha + "'";
pst = conn.prepareStatement(sql);
pst.setDouble(1, linha);
rs = pst.executeQuery();
String valor;
if (rs.next()) {
if (linha >= 0) {
txtValorUnitario.setText(String.valueOf(modelo.getValor_unitario()));
}
valor = rs.getString("produto_valor");
} else {
valor = "NADA";
}
} catch (SQLException erro) {
JOptionPane.showMessageDialog(null, "Erro ao mostrar dados " + erro);
}
}
public void preencheCampos() {
int linha = lista.getSelectedIndex();
System.out.println(linha);
conn = Conexao.conector();
try {
String sql = "Select produto_valor from tbproduto where produto_cod='" + linha + "'";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
if (rs.next()) {
System.out.println("4");
if (linha >= 0) {
System.out.println("5");
//System.out.println(rs.next());
txtValorUnitario.setText(String.valueOf(rs.getString("produto_valor")));
//txtQuantidade.setText(String.valueOf(rs.getString("produto_estoque")));
System.out.println("6");
}
} else {
JOptionPane.showMessageDialog(null, "Produto não encontrado");
}
} catch (SQLException erro) {
JOptionPane.showMessageDialog(null, "Erro ao mostrar dados " + erro);
System.out.println(erro);
}
}
Consegui, agora parou de vir consulta vazia, fiz conforme abaixo
eu estava fazendo assim pst.setDouble(1, umValorInteiro);
sendo que o correto é pst.setDouble(1, umValorDouble);
Só que os valores estão vindo errado quando clico em um produto vem o valor de outro produto.
Não tive tempo de te responder, mas sua implementação está muito bagunçada.
Você preenche a lista com String
s contendo o nome dos produtos, ao invés disso você deveria ter um ListModel
para renderizar um List<ModeloProduto>
.
Vai por mim, separa a camada de persistência dessa sua tela e usa adequadamente o MVC do Swing.
Ok, vou tentar fazer isso.