Problema pegando dados do bd e mostrando em campos <input

5 respostas
B

Ola pessoal, preciso resolver um problema.
pego dados bd mysql coloco em uma string e apresenta em um capo input
inicializo value=" ", com o valor vindo do banco, so que so aparece a primeria palavra de cada campo, exemplo: Cidade= Sao Paulo, aparece ele mostra no campo o valor=SAO se for por exemplo um numero grade, ele mostradoto numero. o que deu pramin entender é que tudo apos um espaço é ignorando.

Alguem sabe como resolver isso??
desde ja obrigado.

5 Respostas

R

Olá!
Vc pode colocar o trecho do seu código onde vc trata e onde vc imprime esses dados?

[]'s

M

verifique a string q esta vindo do banco, talvez esteja vindo errada desde lá

B

“riqueneil”:
Olá!
Vc pode colocar o trecho do seu código onde vc trata e onde vc imprime esses dados?

[]'s

Este codigo esta funcionando com o problema citado.
e ja estou mostrando o valor de uma string antes de por no campo, o valor da variavel aparece completo, como estar no banco.

<%@ page import=<a href="http://java.io">java.io</a>.<em>,java.util.</em>,<a href="http://java.net">java.net</a>.<em>,java.sql.</em> %>

<%

String vcodigo = request.getParameter(ccodigo);

String vnome = request.getParameter(cnome);

String vende = request.getParameter(cende);

String vbairro = request.getParameter(cbairro);

String vcidade = request.getParameter(ccidade);

String vestado = request.getParameter(cestado);

String vcep = request.getParameter(ccep);

String vemail = request.getParameter(cemail);

if(request.getParameter(“gravar”) != null)

{

// objetos de enlace

Connection canal = null;

ResultSet tabla= null;

Statement instruccion=null;

String strcon = “jdbc:mysql://127.0.0.1/banco?user=Batista&;password=”;

// abriendo canal o enlace en su propio try-catch

try {

Class.forName(“com.mysql.jdbc.Driver”).newInstance();

canal=DriverManager.getConnection(strcon);

instruccion = canal.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,

ResultSet.CONCUR_UPDATABLE);

} catch(java.lang.ClassNotFoundException e){} catch(SQLException e) {};

//cargando los campos a grabar

// excepto clave porque en mysql es de tipo auto-increment

// insert into tabla(nombre,edad,estatura) values(‘juan’, 15, 1.88);

String q=“insert into cadastro(nome,ende,bairro,cidade,estado,cep,email)”+
“values(’”+vnome+"’,’"+vende+"’,’"+vbairro+"’,’"+vcidade+"’,’"+vestado+"’,’"+vcep+"’,’"+vemail+"’)";

try {

// agregando renglon (insert)

int n=instruccion.executeUpdate(q);

//avisando que se hizo la instruccion

out.println(“Registros Icluidos com Sucesso!!!”);

} catch(SQLException e) {out.println(e);};

try{

// tabla.close();

instruccion.close();

canal.close();

} catch(SQLException e) {out.println(e);};

}

if(request.getParameter(“pesquisar”) != null)

{

// objetos de enlace

String strcon = jdbc:mysql://127.0.0.1/banco?user=Batista&password=;

Class.forName(com.mysql.jdbc.Driver).newInstance();

Connection Conn=DriverManager.getConnection(strcon);

Statement stmt = Conn.createStatement();
String q=“select * from cadastro where codigo=”+request.getParameter(“ccodigo”);

ResultSet rs = stmt.executeQuery(q);

try {
rs.next();

vcodigo=rs.getString(codigo);

vnome=rs.getString(nome);

vende=rs.getString(ende);

vbairro=rs.getString(bairro);

vcidade=rs.getString(cidade);

vestado=rs.getString(estado);

vcep=rs.getString(cep);

vemail=rs.getString(email);

out.println("valor de vnome = "+vnome);

} catch(SQLException e) {out.println(e);};

try{

rs.close();

rs.close();

Conn.close();

} catch(SQLException e) {out.println(e);};

}

// construyendo forma dinamica

out.println("<table  height=33 cellspacing=0 cellpadding=0 border=0 width=965><tr>");

out.println("<FORM ACTION=Prog42.jsp METHOD=post>");

out.println("<tr><td>Codigo :<INPUT TYPE=TEXT NAME=ccodigo value="+vcodigo+"></td>");

out.println("<td>Nome :<INPUT TYPE=TEXT NAME=cnome size=45 value="+vnome+"></td></tr>");

out.println("<tr><td>Endereço :<INPUT TYPE=TEXT NAME=cende size=45 value="+vende+"></td>");

out.println("<td>Bairro:<INPUT TYPE=TEXT NAME=cbairro value="+vbairro+"></td></tr>");

out.println("<tr><td>Cidade:<INPUT TYPE=TEXT NAME=ccidade value="+vcidade+"></td>");

out.println("<td>Estado:<INPUT TYPE=TEXT NAME=cestado value="+vestado+"></td>");

out.println("<td>Cep:<INPUT TYPE=TEXT NAME=ccep value="+vcep+"></td></tr>");

out.println("<tr><td>E-mail:<INPUT TYPE=TEXT NAME=cemail value="+vemail+"></td></tr>");

out.println("<tr><td><INPUT TYPE=SUBMIT NAME=gravar VALUE=gravar >");
out.println("<INPUT TYPE=SUBMIT NAME=pesquisar VALUE=Pesquisar ></td></tr>");

out.println("</FORM>");

out.println("</tr></table>");

%>

A

O problema está no HTML que vc esta gerando. Por exemplo:
value=Sao Paulo, só vai aparecer o Sao
vc tem que gerar desse modo :
value=“Sao Paulo” ou value = ‘Sao Paulo’

Dê um out.print assim :
out.print(" value = ‘" + valor + "’ ");

ou melhor, deixe o HTML puro e inclua os valores assim :
<input type=‘text name=‘nome’ value=’<%=valor %>

T+

B

“andre_marrento”:
O problema está no HTML que vc esta gerando. Por exemplo:
value=Sao Paulo, só vai aparecer o Sao
vc tem que gerar desse modo :
value=“Sao Paulo” ou value = ‘Sao Paulo’

Dê um out.print assim :
out.print(" value = ‘" + valor + "’ ");

ou melhor, deixe o HTML puro e inclua os valores assim :
<input type=‘text name=‘nome’ value=’<%=valor %>

T+

Opa!!, uma solução, muito obrigado peja ajuda Andre… vou fazer isso…
ate mais…

Criado 30 de maio de 2005
Ultima resposta 30 de mai. de 2005
Respostas 5
Participantes 4