Vinculando varias tabelas do meu db - myqsl - classe Vector

Olá pessoal,

Tenho uma classe PropostaComercial que extends a classe Conexao que chama o meu DB Mysql. A duvida é preciso que essa classe liste todos os dados das minhas tabelas (kitnets,casas,loteamentos,etc) somente pelo codigo do produto na pagina jsp, mas na linha 59 está dando um erro na instrucao , justamente porque nao consigo implementar este vinculo das tabelas do meu Bando de Dados chamada imoveis.
Olha o codigo da classe PropostaComercial.java:

[code]package cadastro;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;
import org.gjt.mm.mysql.PreparedStatement;
/**
*

  • @author Adriana
    */
    public class PropostaComercial extends Conexao{

    private int codigo;
    private String descricao;

    public PropostaComercial () {

    conecta () ;
    }
    public PropostaComercial (int codigo, String descricao) {

    this.codigo = codigo;
    this.descricao=descricao ;

     } 
    
      public int getCodigo ()
    

    {
    return codigo;
    }

    public void setCodigo (int codigo)
    {
    this.codigo = codigo;
    }

    public String getDescricao ()
    {
    return descricao;
    }

    public void setDescricao (String descricao)
    {
    this.descricao = descricao;
    }

    public Vector getListar() {

    Vector x = new Vector();

    try {

      // Joga dados no vetor
    

    PreparedStatement sql = conn.prepareStatement("SELECT * FROM kitnets.,casas., loteamentos., salascomerciais.,sobrados.,terrenos.,order by codigo " ); //duvida!

      	 ResultSet rs = sql.executeQuery();
    
        while (rs.next()) {
           x.add(new PropostaComercial (rs.getInt("codigo"),
     	      rs.getString("descricao")));
     	      }
     	      rs.close();
     	    }
             catch (SQLException ex) {
     	      System.out.println(ex.getMessage());
     	    }
     	    return x;
       } 
    

}
[/code]

OBS; Antes eu havia feito com essa instrucao :       PreparedStatement sql = conn.prepareStatement("SELECT * FROM imoveis , order by codigo");  chamando a base toda, mas mesmo assim continua com erro.

Por fvr alguem pode me ajudar !

Adriana

Oi …alguem pode me ajudar por fvr ?

Adriana

Pessoal,

Ainda nao consegui resposta…estou garimpando na net e nao encontrei nada alguem podem me ajudar ?

Adriana

Seu problema é na query?

Se for tente usar INNER JOIN

sql = "SELECT a.cod_cliente,a.nome as contratante, a.contrato,b.placa,";
sql += " c.cod_ordem_servico,e.descricao as equipamento ";
sql += " FROM cliente a ";
sql += " INNER JOIN veiculo_cliente b on(a.cod_cliente = b.cod_cliente)";
sql += " INNER JOIN ordem_servico c on(a.cod_cliente = c.cod_cliente)";
sql += " INNER JOIN equipamento_cliente d on(a.cod_cliente = d.cod_cliente)";
sql += " INNER JOIN tipo_equipamento e on(d.cod_tipo_equipamento = e.codigo)";
sql += " WHERE cod_xpto = ? ";

Nas suas tabelas devem existir o campo de codigo para identificar, nesse meu caso é o cod_cliente comum em todas as tabelas e um where no final o ponto crucial, era o que precisava?

Na realidade Pedrosa é no proprio codigo java como eu havia falado no post anterior quero colocar na instrucao :

PreparedStatement sql = conn.prepareStatement("SELECT * FROM kitnets.,casas., loteamentos., salascomerciais.,sobrados.,terrenos.,order by codigo " ); //aqui preciso que liste todas as tabelas do meu db que tenham o campo codigo do cliente.Com isso qdo o usuario fizer um input na minha jsp, ira mostrar a descricao do imovel selecionado …vc precisa do fonte da minha jsp para entender melhor ? eu post aqui…

A estrutura do meu db está assim :

Banco de Dados : imoveis

Tabelas

kitnets
casas
loteamentos
salascomerciais
terrenos
sobrados

Adriana

Poste o código aqui, assim todos podem ajudar!

Ok,

A minha classe Conexao é esta onde chama o meu DB :

[code]package cadastro;

/**
*

  • @author Adriana
    /
    import java.sql.
    ;

    public class Conexao {

    protected Connection conn;
    protected String mensagem;

public void conecta() {
// carrega driver jdbc
try {
Class.forName(“org.gjt.mm.mysql.Driver”).newInstance();
}
catch (Exception ex) {
mensagem = “Driver não carregado!”;
System.out.println(“erro:”+mensagem);
}

 // faz a conexão
try {
  conn = DriverManager.getConnection("jdbc:mysql://localhost/imoveis",
                                        "root", "root");
}
catch (SQLException ex) {
  mensagem = ex.getMessage();
  System.out.println("erro:"+mensagem);
}

}

}[/code]

Depois eu tenho a classe PropostaComercial como havia postado anteriormente que ira listar todas as minhas tabelas a partir do input do usuario fizer na minha pagina propostacomercial.jsp :

package cadastro;
 
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.Vector;
 import org.gjt.mm.mysql.PreparedStatement;
 /**
  *
  * @author Adriana
  */
 public class PropostaComercial extends Conexao{
     
     
 	private int codigo;
 	private String descricao;
    
     public PropostaComercial () {
         
         	
 	conecta () 	;
     }
     public PropostaComercial (int codigo, String descricao) {
             
 	 this.codigo = codigo;
 	 this.descricao=descricao ;
 	    
         } 
 
          public int getCodigo ()
     {
         return codigo;
     }
 
     public void setCodigo (int codigo)
     {
         this.codigo = codigo;
     }
 
     public String getDescricao ()
     {
         return descricao;
     }
 
     public void setDescricao (String descricao)
     {
         this.descricao = descricao;
     }
 
     public Vector getListar() {
 
 	Vector x = new Vector();

 
 	  try {
 
 	     // Joga dados no vetor
 	PreparedStatement sql = conn.prepareStatement("SELECT * FROM kitnets.*,casas.*, loteamentos.*, salascomerciais.*,sobrados.*,terrenos.*,order by codigo " ); //duvida!
 
          	 ResultSet rs = sql.executeQuery();
 
 		   while (rs.next()) {
 		      x.add(new PropostaComercial (rs.getInt("codigo"),
 			      rs.getString("descricao")));
 			      }
 			      rs.close();
 			    }
 		        catch (SQLException ex) {
 			      System.out.println(ex.getMessage());
 			    }
 			    return x;
 		  } 
     
 }

As minhas jsp’s são varias : casas.jsp , sobrados.jsp,etc , todas com um formulário que lista os itens atraves do input do código.
Só que esta classe PropostaComercial preciso que faça uma varredura na minha base de dados e pegue a descricao do codigo inputado pelo usuário exemplo:
código 1 - descrição : casa para temporada …blabla

Só não posto tudo porque está muito grande o projeto …para isso.

Pedrosa é isso …por fvr aguardo ajuda do pessoal do GUJ

Então vc precisa pegar esse código digitado atraves da propriedade:

Integer.parseInt(request.getParameter("codigo"));

Faça uma servlet, sua pagina chama essa servlet que instancia sua classe de negocio que retorna o resultado, esse resultado precisa ser devolvido para o jsp, segue um exemplo:

//Servlet

ClienteDAO cliented = new ClienteDAO();
request.setAttribute("clientes",cliented.findCliente(request.getParameter("nome"));
target = "/LocalizarCliente.jsp";

Pelo o que eu vi sua aplicação não tem essa ligação com sua classe de negocio, o que estou fazendo acima.

Ok Pedrosa , vou tentar depois te falo obrigada.

Adriana

Isso aqui pode te ajudar:

ok value ! irei dar uma estudada !