Problemas com consulta a dados com espaço em banco de dados mysql

6 respostas
M

Pessoal, boa noite,

estou com um problema, pode ser algum erro meu, pois nao sou experiente nem em java nem em mysql, entao gostaria que me ajudassem novamente nessa, eu tenho uma tabela chamada tb_tb_contato e outra chamada tb_tb_endereco, na tabela de contatos eu tenho uma coluna chamada nomecompleto onde eu coloco o nome completo do contato, e na tabela de enderecos tem a rua onde coloco a rua completa.
porem o problema, quando eu faco a consulta ao banco de dados via prompt do mysql, esta ok, mas quando eu faco uma busca pelo sistema que eu to criando, só vem ate o primeiro espaco. Ex: nomecompleto Leandro Mouzer porem na consulta aparece somente: Leandro.
as colunas NOMECOMPLETO E RUA estao como varchar no banco.

abaixo segue as classes:

public Contato getContatoMatricula(int matricula) {
		try {
		PreparedStatement stmt;
		
		stmt = connection.prepareStatement("select c.*, e.* from TB_TB_CONTATO c INNER JOIN TB_TB_ENDERECO e WHERE c.MATRICULA =? AND c.ID_CLIENTE = e.ID_CLIENTE");
		stmt.setInt(1, matricula);
		
		ResultSet rs = stmt.executeQuery();
		
		if(rs.next()) {
			return populaContato(rs);
		}

		rs.close();
		stmt.close();

		return null;
		} catch (SQLException e) {
			throw new RuntimeException(e);
			}
		}
	private Contato populaContato(ResultSet rs) throws SQLException {
			Contato contato = new Contato();
			//INICIALIZA OBJETO ENDERECO
			contato.setEndereco(new Endereco());  
			
			contato.setMatricula(rs.getInt("MATRICULA"));
			contato.setNomecompleto(rs.getString("NOMECOMPLETO"));
			contato.setDt_nascimento(rs.getString("DT_NASCIMENTO"));
			contato.setIdentidade(rs.getString("IDENTIDADE"));
			contato.setOrgaoexpedidor(rs.getString("ORGAOEXPEDIDOR"));
			contato.setCpf(rs.getString("CPF"));
			contato.setTituloeleitoral(rs.getString("TITULOELEITORAL"));
			contato.setCelular(rs.getString("CELULAR"));
			contato.setTelefone(rs.getString("TELEFONE"));
			contato.setEmail(rs.getString("EMAIL"));
			contato.getEndereco().setNumero(rs.getString("NUMERO"));
			contato.getEndereco().setRua(rs.getString("RUA"));
			contato.getEndereco().setBairro(rs.getString("BAIRRO"));
			contato.getEndereco().setCep(rs.getString("CEP"));
			contato.getEndereco().setCidade(rs.getString("CIDADE"));
			contato.getEndereco().setEstado(rs.getString("ESTADO"));
			contato.getEndereco().setComplemento(rs.getString("COMPLEMENTO"));
			return contato;
	}

ProcuraMatriculaAction.java

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 ProcuraMatriculaAction {
	private int matricula;
	private Contato contato;
	
	@Action(value="ProcuraMatricula", results= {
			@Result(name="ok", location="/MostraContato.jsp")
	})
	
	public String execute() {
		contato = new ContatoDAO().getContatoMatricula(matricula);
		return "ok";
	}
	
	public void setMatricula(int matricula) {
		this.matricula = matricula;
	}

	public Contato getContato() {
		return contato;
	}

}

6 Respostas

kenneth

Fala brow,

Cara, isso eh no minimo estranho…

Eh so com o nome que acontece isso?
No JSP que aparece so o 1o nome?

M

aparece só o primeiro nome no jsp sim, se eu colocasse o telefone com espaco, só apareceria o primeiro tb, no endereço tb só aparece ate dar o espaco

M

alguem poderia me ajudar?

kenneth

Posta o codigo do JSP ae brow…

Vamos dar uma olhada…

Valeu.

M

Tai o codigo, espero que me ajudem, ja troquei o driver jdbc, refiz um novo projeto, troquei tomcat, so nao mexi no mysql, pois a consulta no prompt do mysql retorna normalmente.
quando eu altero o cliente, tb altera no mysql, porem nao retorna o nome quando tem espaco, nem endereco nem nada que contenha espaco.

<!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>Pesquisa 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="" 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>
M

ja achei o problema, esta faltando as “” nos values, obrigado a todos pela ajuda

Criado 26 de agosto de 2010
Ultima resposta 27 de ago. de 2010
Respostas 6
Participantes 2