Pessoal, boa tarde,
eu tenho um jsp onde eu digito a matricula de um cliente e retorna os dados do respectivo cliente em outra jsp para eu poder alterar, porem quando eu tento alterar da o seguinte erro:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘(MATRICULA=1107,NOMECOMPLETO=‘lkjhg’,DT_NASCIMENTO=‘1982-12-29’,IDENTIDADE=‘88’,’ at line 1
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
java.lang.reflect.Constructor.newInstance(Constructor.java:532)
com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
com.mysql.jdbc.Util.getInstance(Util.java:381)
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1030)
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3515)
com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3447)
sou novato, estou tentando na pratica, alguem poderia me ajudar? agradeço desde já.
segue as classes:
Altera_User.jsp:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Alterar Cadastro</title>
<script type="text/javascript">
function validar()
{
if(confirm("Deseja realmente alterar os dados?"))
{
alert("Contato alterado com Sucesso");
return true;
}
else
{
alert("Cancelado");
return false;
}}
</script>
<style type="text/css">
<!--
body {
background-color: #FF9;
}
-->
</style></head>
<body>
<form id="cadastro" name="cadastro" method="post" action="alteraContato" onsubmit="return validar();">
<p>Matrícula:
<input name="contato.matricula" type="text" id="contato.matricula" value=${contato.matricula} />
</p>
<p>
<label>Nome Completo
<input name="contato.nomecompleto" type="text" id="contato.nomecompleto" value=${contato.nomecompleto} size="100" />
</label>
</p>
<p>CPF:
<input type="text" name="contato.cpf" id="contato.cpf" value=${contato.cpf} />
RG:
<input type="text" name="contato.identidade" id="contato.identidade" value=${contato.identidade} />
Órgão Expedidor:
<input name="contato.orgaoexpedidor" type="text" id="contato.orgaoexpedidor" value=${contato.orgaoexpedidor} size="10" />
Data Nascimento:
<input type="text" name="contato.dt_nascimento" id="contato.dt_nascimento" value=${contato.dt_nascimento} />
Título Eleitoral:
<input type="text" name="contato.tituloeleitoral" id="contato.tituloeleitoral" value=${contato.tituloeleitoral} />
</p>
<p>Celular:
<input type="text" name="contato.celular" id="contato.celular" value=${contato.celular} />
Telefone:
<input type="text" name="contato.telefone" id="contato.telefone" value=${contato.telefone} />
</p>
<p>Endereço:
<input name="contato.endereco.rua" type="text" id="contato.endereco.rua" size="50" value=${contato.endereco.rua} />
Número:
<input name="contato.endereco.numero" type="text" id="contato.endereco.numero" size="10" value=${contato.endereco.numero} />
Bairro:
<input name="contato.endereco.bairro" type="text" id="contato.endereco.bairro" size="30" value=${contato.endereco.bairro} />
Cidade:
<input name="contato.endereco.cidade" type="text" id="contato.endereco.cidade" size="30" value=${contato.endereco.cidade} />
Cep:
<input name="contato.endereco.cep" type="text" id="contato.endereco.cep" value=${contato.endereco.cep} />
Estado:
<input name="contato.endereco.estado" type="text" id="contato.endereco.estado" size="20" value=${contato.endereco.estado} />
</p>
<p>Complemento:
<input name="contato.endereco.complemento" type="text" id="contato.endereco.complemento" value=${contato.endereco.complemento} size="50" />
</p>
<p>Email:
<input name="contato.email" type="text" id="contato.email" size="40" value=${contato.email} />
</p>
<p>
<center><label>
<input type="submit" name="button" id="button" value="Alterar" />
</label>
<input type="reset" name="button2" id="button2" value="Resetar" /></center>
</p>
</form>
</body>
</html>
ContatoDAO:
public boolean AlteraContato(Contato contato) throws Exception {
PreparedStatement stmt;
stmt = connection.prepareStatement("UPDATE TB_TB_CONTATO SET(MATRICULA=?,NOMECOMPLETO=?,DT_NASCIMENTO=?,IDENTIDADE=?,ORGAOEXPEDIDOR=?,CPF=?,TITULOELEITORAL=?,CELULAR=?,TELEFONE=?,EMAIL=?) WHERE MATRICULA = ?");
stmt.setInt(1, contato.getMatricula());
stmt.setString(2, contato.getNomecompleto());
stmt.setString(3, contato.getDt_nascimento());
stmt.setString(4, contato.getIdentidade());
stmt.setString(5, contato.getOrgaoexpedidor());
stmt.setString(6, contato.getCpf());
stmt.setString(7, contato.getTituloeleitoral());
stmt.setString(8, contato.getCelular());
stmt.setString(9, contato.getTelefone());
stmt.setString(10, contato.getEmail());
stmt.setInt(11, contato.getMatricula());
stmt.executeUpdate();
stmt.close();
stmt.clearParameters();
stmt = connection.prepareStatement("SELECT ID_CLIENTE FROM TB_TB_CONTATO WHERE MATRICULA = ?");
stmt.setInt(1, contato.getMatricula());
ResultSet rs = stmt.executeQuery();
if(rs.next()){
contato.setId_contato(rs.getInt("ID_CLIENTE"));
}else{return false;}
stmt.clearParameters();
stmt = connection.prepareStatement("UPDATE TB_TB_ENDERECO SET(null,NUMERO=?,RUA=?,BAIRRO=?,CEP=?,CIDADE=?,ESTADO=?,COMPLEMENTO=?) WHERE ID_CLIENTE = ?");
stmt.setInt(1, contato.getId_contato());
stmt.setString(2, contato.getEndereco().getNumero());
stmt.setString(3, contato.getEndereco().getRua());
stmt.setString(4, contato.getEndereco().getBairro());
stmt.setString(5, contato.getEndereco().getCep());
stmt.setString(6, contato.getEndereco().getCidade());
stmt.setString(7, contato.getEndereco().getEstado());
stmt.setString(8, contato.getEndereco().getComplemento());
stmt.setInt(9, contato.getId_contato());
stmt.executeUpdate();
stmt.close();
stmt.clearParameters();
return false;
}
AlteraContatoAction:
package br.com.mensalidade.action;
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Result;
import br.com.mensalidade.Classes.Contato;
import br.com.mensalidade.DAO.ContatoDAO;
public class AlteraContatosAction {
private Contato contato;
@Action(value="alteraContato", results= {
@Result(name="ok", type="redirectAction", params= {"actionName", "selecionaContato"})
})
public String execute() throws Exception {
new ContatoDAO().AlteraContato(contato);
return "ok";
}
public Contato getContato() {
return this.contato;
}
public void setContato(Contato contato) {
this.contato = contato;
}
}
Agradeço a todos