netbenas
28/06/2017
0
estou fazendo um programinha com cadastro de clientes, usuarios e produtos usuario e produtos
deu tudo certo porem no cadastro de produtos estou com um erro na hora de adicinar um produto
no caso vai ser so o nome quantidade preco e preco custo usei o seguinte codigo abaixo e na hora de cadastrar os produtos
no banco de dados fica as informaçoes corretas mas no sitema fica o sql de insert que usei inves das informaçoes do produto
package systemaOS.telas;
import java.sql.*;
import javax.swing.JOptionPane;
import systemaOS.dal.ModuloConexao;
import net.proteanit.sql.DbUtils;
/**
*
* @author Anderson
*/
public class TelaProdutos extends javax.swing.JInternalFrame {
Connection conexao = null;
PreparedStatement pst = null;
ResultSet rs = null;
/**
* Creates new form TelaProdutos
*/
public TelaProdutos() {
initComponents();
conexao = ModuloConexao.conector();
}
private void Adicionar(){
String sql = "insert into produtos(prod_desc, prod_estoq, prod_preco_cust, prod_valor) values (?,?,?,?)";
try {
pst = conexao.prepareStatement(sql);
pst.setString(1, txtdesc.getText());
pst.setString(2, txtqtd.getText());
pst.setString(3, txtpreccust.getText());
pst.setString(4, txtpreco.getText());
//validar campos obrigatorios
if ((txtdesc.getText().isEmpty())||(txtqtd.getText().isEmpty())||(txtpreccust.getText().isEmpty())||(txtpreco.getText().isEmpty())){
JOptionPane.showMessageDialog(null,"Preencha os Campos Obrigatorios");
}else{
// A linha abaixo atualiza a tabela produtos com os campos do formulario
int adicionado = pst.executeUpdate();
if (adicionado > 0) {
JOptionPane.showMessageDialog(null,"Produto adicionado com sucesso" );
txtdesc.setText(sql);
txtqtd.setText(sql);
txtpreccust.setText(sql);
txtpreco.setText(sql);
}
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
Anderson Saldanha
Posts
13/07/2017
Estevão Dias
Você pode adicionar a mensagem de erro gerada durante os testes?
No aguardo.
09/08/2017
Clayton Silva
if (adicionado > 0) { JOptionPane.showMessageDialog(null,"Produto adicionado com sucesso" ); txtdesc.setText(sql); txtqtd.setText(sql); txtpreccust.setText(sql); txtpreco.setText(sql); }
Tá fazendo exatamente o que vc falou q tá errado ..rs Vc tá colocando a String sql dentro dos seus Edits.
Pra mostrar os valores salvos vc poderia salvá-los em variáveis antes de mandar salvar no banco e depois usá-las pra mostrar nos edits. Dessa forma:
private void Adicionar() { String sql = "insert into produtos(prod_desc, prod_estoq, prod_preco_cust, prod_valor) values (?,?,?,?)"; String desc = txtdesc.getText(); String qtd = txtqtd.getText(); String preccust = txtpreccust.getText(); String preco = txtpreco.getText(); try { pst = conexao.prepareStatement(sql); pst.setString(1, desc); pst.setString(2, qtd); pst.setString(3, preccust); pst.setString(4, preco); // validar campos obrigatorios if (desc.isEmpty() || qtd.isEmpty() || preccust.isEmpty() || (preco.isEmpty()) { JOptionPane.showMessageDialog(null, "Preencha os Campos Obrigatorios"); } else { // A linha abaixo atualiza a tabela produtos com os campos do formulario int adicionado = pst.executeUpdate(); if (adicionado > 0) { JOptionPane.showMessageDialog(null, "Produto adicionado com sucesso"); txtdesc.setText(desc); txtqtd.setText(qtd); txtpreccust.setText(preccust); txtpreco.setText(preco); } } } catch (Exception e) { JOptionPane.showMessageDialog(null, e); } }
Entendeu?
Ou, pra simplificar mais ainda, vc nem precisava setar esses valores depois de salvar, né? já que não tá limpando os edits rrsrs
19/09/2017
Anderson Saldanha
Clique aqui para fazer login e interagir na Comunidade :)