Erro ao adicionar registros

6 respostas
rrp1989

To fazendo um curso de Java e o projeto final era um sisteminha de cadastros

As outras funcionalidades como apagar ou consultar funcionam perfeitamente,

Entretanto, quando tento adicionar cadastro aparece a seguinte mensagem

java.sql.SQLException: Column count doesn't match value count at row 1

Segue o código:

import java.awt.event.*;
import java.sql.*;
import javax.swing.*;

public class adicionaRegistro implements ActionListener{
	private MontaTela campos;
	private JTextArea saida;
	private Connection conecta;
	
	public adicionaRegistro(Connection c,MontaTela f,JTextArea o){
		conecta=c;
		campos=f;
		saida=o;
	}
	public void actionPerformed(ActionEvent e){
		try{
			Statement executaSQL=conecta.createStatement();
			if(!campos.Sobrenome.getText().equals("")&& !campos.Nome.getText().equals("")){
				
				String query="INSERT INTO fornecedores(Nome,Sobrenome,Endereco,Cidade,Estado,Cep) VALUES( '"+campos.Nome.getText()+"','"+campos.Sobrenome.getText()+"','"+campos.Endereco.getText()
						+"','"+campos.Endereco.getText()+"','"+campos.Cidade.getText()+"','"+campos.Estado.getText()+"','"+campos.Sobrenome.getText()
						+"','"+campos.Cep.getText()+"')";
				
				int result = executaSQL.executeUpdate(query);
				
				if (result==1){
					saida.append("Inserido \n");
					campos.Nome.setText("");
					campos.Sobrenome.setText("");
					campos.Endereco.setText("");
					campos.Cidade.setText("");
					campos.Estado.setText("");
					campos.Cep.setText("");
					
				}
				else{
					saida.append("Erro \n");
					campos.Nome.setText("");
					campos.Sobrenome.setText("");
					campos.Endereco.setText("");
					campos.Cidade.setText("");
					campos.Estado.setText("");
					campos.Cep.setText("");
					
				}
			}
			else
				JOptionPane.showMessageDialog(null, "PREENCHA OS CAMPOS","Atenção",JOptionPane.ERROR_MESSAGE);
			executaSQL.close();
		}
		catch(SQLException sqlex){
			sqlex.printStackTrace();
			saida.append(sqlex.toString());
		}
	}

}

6 Respostas

fiaux

Provavelmente são as aspas. Leia o tópico abaixo, vai explicar e dar uma sugestão para melhorar.

http://www.guj.com.br/posts/list/48476.java

rrp1989

revisei as aspas e não encontrei nenhum erro

poderia ser mais específico por favor?

rrp1989

o problema era campos duplicados

resolvido

fiaux

Você leu o tópico? Lá tem a dica.

rrp1989

tinha lido tudo

mas funfou sem o prepared mesmo

fiaux

Beleza, mas é uma dica para melhorar o código que você fez.

Criado 10 de junho de 2008
Ultima resposta 10 de jun. de 2008
Respostas 6
Participantes 2