Erro no insert como resolver

3 respostas
TASF
boa tarde galera tenho a seguinte tabela no banco
DROP TABLE IF EXISTS `gc`.`tb001_usuario`;
CREATE TABLE  `gc`.`tb001_usuario` (
  `tb001_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `tb001_nome` varchar(45) NOT NULL,
  `tb001_endereco` varchar(45) NOT NULL,
  `tb001_uf` varchar(45) NOT NULL,
  `tb001_login` varchar(45) NOT NULL,
  `tb001_senha` varchar(45) NOT NULL,
  `tb001_perfil` int(10) unsigned NOT NULL,
  PRIMARY KEY (`tb001_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

e gostaria de fazer o insert com o seguinte codigo

String sql =("INSERT INTO tb001_usuario(tb001_nome,tb001_endereco,tb001_uf,tb001,tb001_login,tb001_senha,tb001_perfil)VALUES(?,?,?,?,?,?)");
		
		try {
			PreparedStatement stmt = con.prepareStatement(sql);
			stmt.setString(1,beanUsuario.getNomeUsuario());
			stmt.setString(2,beanUsuario.getEnderecoUsuario());
			stmt.setString(3,beanUsuario.getUfUsuario());
			stmt.setString(4, beanUsuario.getLoginUsuario());
			stmt.setString(5,beanUsuario.getSenhaUsuario());
			stmt.setInt(6,beanUsuario.getPerfilUsuario());
			stmt.execute();
			stmt.close();
			con.close();
			
			 JOptionPane.showMessageDialog(null, "Registro Inserido com sucesso", "Cadastro de livros", JOptionPane.INFORMATION_MESSAGE);
	         
		} catch (SQLException e) {
			JOptionPane.showMessageDialog(null, " Ocorreu um erro na insersão", "ERRO", JOptionPane.ERROR_MESSAGE);
		e.printStackTrace();
			new RuntimeException();
		
			     
			// TODO: handle exception
		}finally{
			
			try {
				con.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
porem me da o seguinte erro
java.sql.SQLException: Column count doesn't match value count at row 1
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3609)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3541)
	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2002)
	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2163)
	at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2624)
	at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2127)
	at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1362)
	at br.com.gc.modelo.UsuarioDAo.insereUsuario(UsuarioDAo.java:39)
	at br.com.gc.controle.CadastroUser.service(CadastroUser.java:61)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
	at java.lang.Thread.run(Unknown Source)

acredito que seja por estar faltando o id no insert , mas como posso faser se o id e auto increment??

3 Respostas

A

Sua String sql está com um par de chaves a mais. e há uma coluna que não há no banco.

String sql =(“INSERT INTO tb001_usuario(tb001_nome,tb001_endereco,tb001_uf,tb001,tb001_login,tb001_senha,tb001_perfil)VALUES(?,?,?,?,?,?)”);

TASF

putsss… e verdade Obrigado brother.

telma-lindoia

Olá, sempre que tenho um monte de dados pra inserir no banco de dados dos meus sites eu sempre vou montanto o codigo inserido de 3 em 3 os inserts porque senão no meio do caminho eu me perco mesmo!

Criado 18 de agosto de 2013
Ultima resposta 19 de ago. de 2013
Respostas 3
Participantes 3