Preciso de ajuda

7 respostas
C

Estou tentando fazer uma consulta no banco e retornar o resultado em um form html, porém não consigo retornar o valor da consulta em campos, ou seja, qdo coloco no value do campo o resultset.getString(“nome”); exibe no campo exatamente “resultset.getString(“nome”)”. sei que está errado, mas já tentei de tudo esta foi a última tentativa, partes do código se encontra abaixo:

class.forName(com.mysql.jdbc.Driver);

try{

Connection connection=DriverManager.getConnection(“jdbc:mysql://localhost/base);

try{

Statement query = connection.createStatement();

ResultSet resultset = query.executeQuery(“SELECT * FROM pessoa”);
while (resultset.next())
   {
      String t = resultset.getString("NOME");
       .				
       .
       .

O problema está aqui:
[color=“red”] :?: out.println(<input type=“text” value=“resultset.getString(“NOME”) " size=“42”>”);
:?: [/color]

7 Respostas

Bani

Você tem que prestar atenção nas aspas!
O que é texto que deve ser colocado na tela, você utiliza aspas duplas, e aí dentro do HTML em si pode tanto utilizar aspas simples como dar escape nas aspas.

Acho que assim funcionaria:

out.println("<input type=‘text’ value=" + resultset.getString(“NOME”) + " size=‘42’>");

Porém, o que você acha de utilizar JSP para fazer o seu HTML? Fica BEM melhor.

C

Olá xará!

O problema neste caso é a forma como você montou a chamada para o método, quando você concatena Strings você deve utilizar o operador +.

Desta forma:

[code]

[/code/]

C

Olá xará!

O problema neste caso é a forma como você montou a chamada para o método, quando você concatena Strings você deve utilizar o operador +. Além disso, como String utilizam aspas duplas em sua definição você não pode utilizar aspas duplas quando escrevendo o html, ao invés disso utilize aspas simples!

Desta forma:

out.println&#40;"&lt;input type='text' value=" + resultset.getString&#40;"NOME"&#41; +  "size='42'&gt;"&#41;;

Experimente trocar a linha que você mencionou por esta acima e verifique o resultado!

C

O pior é que eu ja testei assim e tb não funcionou!

C

é muito complicado utilizar JSP para fazer o HTML?

Bani
No caso do JSP você escreve o HTML normalmente, sem os out.println(), e só quando você precisa pegar algum valor dinamicamente coloca ele dentro de uma tag jsp.

Dessa forma, o código em java em si, se necessário, você colocaria entre <% e %>

E quando vai jogar um resultado no equivalente de um out.print, coloca entre <%= e %>

Utilizando o seu exemplo, ficaria assim:

[color=green]<%

class.forName(com.mysql.jdbc.Driver);

try{

Connection connection=DriverManager.getConnection(“jdbc:mysql://localhost/base);

try{

Statement query = connection.createStatement();

ResultSet resultset = query.executeQuery(“SELECT * FROM pessoa”);
while (resultset.next())

{

String t = resultset.getString(NOME);

%>[/color]

<input type=“text” value="[color=“red”]<%=t%>[/color]" size=“42”>

[color=“green”]<% } %>[/color]

Apesar de que o certo mesmo, considerando orientação a objetos e tal, seria colocar essa parte do acesso ao banco separada em outra classe, e só a apresentação no arquivo JSP.

C

Na verdade não é recomendável utilizar este tipo de código em páginas JSP, como o Bani colocou o ideal seria colocar este código de acesso / controle e gerenciamento da base de dados em uma ou mais classes específicas, e o arquivo JSP ficaria responsável somente por mostrar os resultados daquela classe.

mas me diga uma coisa Carlos, você disse que tentou alterar o out.println() e mesmo assim não funcionou, mas o que aconteceu neste caso? ele continuou com o mesmo comportamento???

[]s

Carlos H.

Criado 9 de novembro de 2002
Ultima resposta 10 de nov. de 2002
Respostas 7
Participantes 3