Problemas na hora de inserir e alterar dados

2 respostas
acbucard
Tenho esses dois códigos:
private void btnGravarActionPerformed(java.awt.event.ActionEvent evt) {                                          
        //código para Gravar os dados no Banco de Dados

        try {
            String sqlInserir ="insert into pedpersi " +
                    "(persiana, marcaPersi, corPersi, modeloBando, corLizarda, TamTot, altura, largura, dataCadOrc) values ('"+
                    txtPersiana.getText()+"','"+
                    cboMarca.getSelectedItem()+"','"+
                    txtCor.getText()+"','"+
                    txtModeloBando.getText()+"','"+
                    txtCorLizarda.getText()+"','"+
                    txtMetTot.getText()+"','"+
                    txtAltura.getText()+"','"+
                    txtLargura.getText()+"','"+
                    txtPrecoTot.getText()+"')";


            
            pedpersi.statement.executeUpdate(sqlInserir);
            
        
            pedpersi.executarSQL("select * from pedpersi order by "+ordenacao);
            atualizar_cboPedido();
            pedpersi.resultset.first(); //posiciona no primeiro registro
            exibirDados();
Nesse cód ele dá problema dizendo: Field 'nomeCliente' doesn't have a default value. Mas eu já inseri um registro pelo próprio mysql.

e na hora de alterar ele diz que tem um erro perto da parte where codPed = 1

private void btnAlterarActionPerformed(java.awt.event.ActionEvent evt) {                                           
        //código para Alterar os dados no Banco de Dados
        try {
            String sql ="UPDATE perdpesi SET nomeCliente ='"+txtCliente.getText()+"',"+
                    "persiana = '" + txtPersiana.getText()+"',"+
                    "marcaPersi = '"  +cboMarca.getSelectedItem()+"',"+
                    "corPersi = '"  +txtCor.getText()+"',"+
                    "modeloBando = '"  +txtModeloBando.getText()+"',"+
                    "corLizarda = '"  +txtCor.getText()+"',"+
                    "tamTot = '"  +txtMetTot.getText()+"',"+
                    "altura = '"  +txtAltura.getText()+"',"+
                    "largura = '"  +txtLargura.getText()+"',"+
                    "' where codPed = "+txtCodPedido.getText()+";";

            pedpersi.statement.executeUpdate(sql);
            JOptionPane.showMessageDialog(null,"Alteração realizado com sucesso!");

            
            pedpersi.executarSQL("Select * from pedPersi order by "+ordenacao);
            atualizar_cboPedido();
            pedpersi.resultset.next();
            exibirDados(); 
        } catch (SQLException erro) {
            JOptionPane.showMessageDialog(null,"Erro a tentar Alterar o registro..."+erro);
        }

2 Respostas

acbucard

Por favor! Ajuda!!
Isso é pro meu projeto final da escola!
Estou desesperada!!
Já procurei mas não encontrei! =s

wbdsjunior

não encontrei o atributo nomeCliente no pedaço de código que você postou. não está faltando alguma coisa, não?

e no update, há uma virgula e apóstrofo a mais antes do where.

"largura = '" +txtLargura.getText()+"',"+ "'where codPed = "+txtCodPedido.getText()+";";
corrija para:

"largura = '" +txtLargura.getText()+ " where codPed = "+txtCodPedido.getText()+";";

Criado 28 de outubro de 2010
Ultima resposta 28 de out. de 2010
Respostas 2
Participantes 2