Ajuda

2 respostas
L

eu tentei colocar um arquivo de conexao em um arquivo .java e dpois na pagina .jsp chama-lo atraves de um <jsp:useBean> blz…funcionou, mas n consigo desenvolver o sql…entao coloquei o o arquivo conexao dentro da propria pagina .jsp…

&lt;%@ page language="java" import="java.sql.*" errorPage="" %&gt;
&lt;%
    try
    &#123;
	    Class.forName&#40; "org.firebirdsql.jdbc.FBDriver" &#41;.newInstance&#40;&#41;;
	&#125;
	catch&#40; Exception ex &#41;
	&#123;
	   out.write&#40; "Não carregou o Driver&#58; " + ex.toString&#40;&#41; &#41;;
	&#125;

	Connection conexao = DriverManager.getConnection&#40;
		"jdbc&#58;firebirdsql&#58;localhost/3050&#58;"
		+ "c&#58;\\work\\meusite\\WEB-INF\\banco\\meubanco.fdb",
		"SYSDBA","masterkey" &#41;;
%&gt;

ai na minha pagina index.jsp, eu uso assim para exibir os resultados

&lt;%
	PreparedStatement sql  = conexao.prepareStatement&#40;"SELECT * FROM categoria" &#41;;
	ResultSet resultado = sql.executeQuery&#40;&#41;;
	while&#40; resultado.next&#40;&#41; &#41;&#123;
	    String cod_cat   = resultado.getString&#40; "cod_cat" &#41;;
		String nome_cat = resultado.getString&#40; "nome_cat" &#41;;

		out.print&#40;nome_cat&#41;
		%&gt;

o meu problema é o seguinte…nessa mesma pagina index.jsp…tem um topo la em cima q eu tenho um sistema de busca, onde o usuario podera fazer uma busca pelos itens da categoria…ow seja…buscar por livro, cds, informatica…etc…e esses dados estao vindo do banco tbem…mas ai eu tenho q usar assim, tenho q trocar os nomes das variaves para funcionar, ou seja, para cada consulta q eu fizer dentro da mesma pagina…vo ter q criar variaveis diferentes…como no exemplo abaixo

&lt;select name="tipo" id="tipo" class="FormEscolheCategoria"&gt;
                      &lt;option&gt;Todo o site&lt;/option&gt;
		&lt;%
	PreparedStatement sql2  = conexao.prepareStatement&#40;"SELECT * FROM categoria" &#41;;
	ResultSet resultado2 = sql2.executeQuery&#40;&#41;;
	while&#40; resultado2.next&#40;&#41; &#41;&#123;
	    String cod_cat2   = resultado2.getString&#40; "cod_cat" &#41;;
		String nome_cat2 = resultado2.getString&#40; "nome_cat" &#41;;
		%&gt;
		&lt;option&gt;&lt;%=nome_cat2%&gt;&lt;/option&gt;
		&lt;% &#125; %&gt;
                    &lt;/select&gt;

Ai na pagina categoria…eu vou exibir o titulo da categoria, ai tenho q mudar ainda pra sql3…
Eu queria ver com vcs tipo…se tem como eu jogar a conexao para um arquivo .java, fazer um metodo
consultaCategoria() para o sql…ai na pagina .jsp, eu somente chamo o método, para n ter q fazer como eu descrevi acima, ter q ficar fazendo outra consulta sql e ainda tendo q trocar o nome das variaveis…Se vc puder me dar uma ajuda…Valeu!!! vo colocar o arquivo conexao.java abaixo.
Se der pra vcs fazerem um no dedao ai pra mim…ai vcs fazem o arquivo de conexao e exibe os resultados na pagina .jsp, o q eu n consegui foi da pagina .jsp chamar o sql para exibir os resultados…ai fazendo a conexao na propria pagina…eu consegui. e me expliquem para cada chamada sql q eu for buscar da categoria…qual metodo vou ter q utilizar na minha pagina .jsp…

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class Conexao &#123;

private static Connection conn = null;

public static Connection getConnection&#40;&#41;&#123;

try&#123;
Class.forName&#40;"org.firebirdsql.jdbc.FBDriver"&#41;;
conn = DriverManager.getConnection&#40;"jdbc&#58;firebirdsql&#58;"+
"localhost/3050&#58;"+
"enderecoDoBanco.gdb",
"sysdba",
"masterkey"&#41;;
//System.out.println&#40;"Conexão realizada com sucesso"&#41;; 
&#125;
catch &#40;Exception e&#41; &#123;
System.out.println&#40;"Não foi possível conectar ao banco&#58; " + e.getMessage&#40;&#41;&#41;;
&#125; 
return conn; 
&#125;

public static void desconect&#40;&#41;&#123;
if &#40;conn != null&#41;&#123;
try &#123;
conn.close&#40;&#41;;
//System.out.println&#40;"Conexão finalizada"&#41;; 
&#125;
catch &#40;SQLException e&#41; &#123;
e.printStackTrace&#40;&#41;;
&#125; 
&#125; 
&#125; 
&#125;

2 Respostas

L

Consegui fazer colocando a conexao em um arquivo .java…mas agora ele n esta exibindo as categorias na pagina .jsp por ordem d nome…alguem sabe pq?

JDBCConexao.java

package com.site;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Hashtable;

public class JDBCConexao &#123;

  public Hashtable getCategorias&#40;&#41; throws ClassNotFoundException&#123;
    Hashtable categorias = new Hashtable&#40;&#41;;
    try &#123;
    	Class.forName&#40;"org.firebirdsql.jdbc.FBDriver"&#41;;
      Connection conexao = DriverManager.getConnection&#40;
    			"jdbc&#58;firebirdsql&#58;localhost/3050&#58;"
    			+ "c&#58;\\work\\site\\WEB-INF\\meubanco.fdb",
    			"SYSDBA","masterkey" &#41;;
      Statement stm = conexao.createStatement&#40;&#41;;
      String sql = "SELECT * FROM Categoria order by nome_cat";
      ResultSet resultado = stm.executeQuery&#40;sql&#41;;
      while &#40;resultado.next&#40;&#41;&#41; &#123;
    	  categorias.put&#40;resultado.getString&#40;1&#41;, resultado.getString&#40;2&#41; &#41;;
      &#125;
      resultado.close&#40;&#41;;
      stm.close&#40;&#41;;
      conexao.close&#40;&#41;;
    &#125;
    catch &#40;SQLException e&#41; &#123;&#125;
    return categorias;
  &#125;

&#125;

teste.jsp

&lt;%@ page import="java.util.*" %&gt;
&lt;jsp&#58;useBean id="JDBCConexao" scope="application" class="com.ecommerce2.JDBCConexao"/&gt;
&lt;TABLE CELLSPACING="0" CELLPADDING="5" WIDTH="150" BORDER="0"&gt;
&lt;TR&gt;
  &lt;TD BGCOLOR="F6F6F6"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
  &lt;TD BGCOLOR="F6F6F6"&gt;&lt;FONT FACE="Verdana"&gt;Categorias&#58;&lt;/FONT&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR VALIGN="TOP"&gt;
  &lt;TD BGCOLOR="F6F6F6"&gt;
&lt;%
  Hashtable categorias = JDBCConexao.getCategorias&#40;&#41;;
  Enumeration categoriaId = categorias.keys&#40;&#41;;
  while &#40;categoriaId.hasMoreElements&#40;&#41;&#41; &#123;
    Object cod_cat = categoriaId.nextElement&#40;&#41;;
    out.println&#40;"&lt;A HREF=categoria.jsp?id=" +
      cod_cat.toString&#40;&#41; + "&gt;" +
      categorias.get&#40;cod_cat&#41; + 
      "&lt;/A&gt;&lt;BR&gt;"&#41;;
  &#125;
%&gt;
  &lt;/TD&gt;
&lt;/TR&gt;
&lt;/TABLE&gt;
G

Não ocorre nenhuma exception ? já tentou debugar ?

Criado 23 de maio de 2006
Ultima resposta 25 de mai. de 2006
Respostas 2
Participantes 2