netbenas

28/06/2017

0

alguem ja passou por este problema e conseguiu resolver por favor se puder ajudar
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

Anderson Saldanha

Responder

Posts

13/07/2017

Estevão Dias

Olá Anderson, tudo bem?

Você pode adicionar a mensagem de erro gerada durante os testes?

No aguardo.
Responder

09/08/2017

Clayton Silva

Bom dia, Anderson! Olha só esse trecho:

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
Responder

19/09/2017

Anderson Saldanha

desculpe fiquei um tempao sem logar mas eu consegui amigo analisei com calma e descobrir rsrs obrigado pela atençao.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar