Select em mais de uma tabela

Boa noite pessoal , estou com uma duvida sobre dar um select no banco em 2 ou mais tabelas ao mesmo tempo por exemplo:

[code] pst = cx.prepareStatement(“SELECT * FROM Pages p , Usuario u WHERE p.pagina =? AND u.pagina=?”);
pst.setString(1, pages.getPagina());
rs = pst.executeQuery();
try{
if (rs.next()){
Pages pagesBean = getPageFromSql(rs);
return true;
}
}

private Pages [color=red]getPageFromSql[/color](ResultSet rs) throws SQLException, ClassNotFoundException {
Pages retorno = new Pages();
retorno.setPagina(rs.getString(“pagina”));
retorno.setDescricao(rs.getString(“descricao”));
retorno.setGrupo(rs.getString(“grupo”));

	return retorno;
	
  }	

[/code]

Como eu trato esse metodo getPageFromSql para receber os valores e jogar nos dois beans? no Caso o Pages e Usuarios, Obrigado.

[quote=rib]Boa noite pessoal , estou com uma duvida sobre dar um select no banco em 2 ou mais tabelas ao mesmo tempo por exemplo:

[code] pst = cx.prepareStatement(“SELECT * FROM Pages p , Usuario u WHERE p.pagina =? AND u.pagina=?”);
pst.setString(1, pages.getPagina());
rs = pst.executeQuery();
try{
if (rs.next()){
Pages pagesBean = getPageFromSql(rs);
return true;
}
}

private Pages getPageFromSql (ResultSet rs) throws SQLException, ClassNotFoundException {
Pages retorno = new Pages();
retorno.setPagina(rs.getString(“pagina”));
retorno.setDescricao(rs.getString(“descricao”));
retorno.setGrupo(rs.getString(“grupo”));

	return retorno;
	
  }	

[/code]

Como eu trato esse metodo getPageFromSql para receber os valores e jogar nos dois beans? no Caso o Pages e Usuarios, Obrigado.[/quote]
vamos do comerçar do começo :smiley:

a sua SLQ não está montada de um modo muito usual acredito que essa que eu estou passando resolva o seu problema, e do jeito que vc fez está faltando parametros no prepareStantement


SELECT * FROM Pages p , Usuario u WHERE p.pagina = u.pagina AND p.pagina = ?

para jogar em 2 beans é simples

pst = cx.prepareStatement("SELECT * FROM Pages p , Usuario u WHERE p.pagina =? AND u.pagina=?"); pst.setString(1, pages.getPagina()); rs = pst.executeQuery(); try{ if (rs.next()){ Pages pagesBean = getPageFromSql(rs); Usuarios usuariosBean = getPageFromSql(rs); return true; } }

acredito que isso resolva o seu problema

[code]Então depois é só eu jogar o objeto de cada bean dentro da minha lista ai fica assim? Muito obrigado joede.fadel.
try{
statement = cx.createStatement();
resultSet = statement.executeQuery(“SELECT * FROM Pages p , Usuario u WHERE p.pagina =? AND u.pagina=?”);
while(resultSet.next()){
Login login2 = getLoginFromSqlGrupo(resultSet);
Pages pagesBean = getPageFromSql(rs);
list.add(login2);
list.add(pagesBean);

  }
}

catch (SQLException e){
e.printStackTrace();
}
return list;
}[/code]

Oi! só uma observação no select… não está faltando também o campo de relacionamento entre as duas tabelas, dentro da cláusula WHERE… Algo como page_id = usuario_id ?

delegada_ti , obrigado pela observação mas o select é tranquilo a duvida é mesmo em adicionar os resultados na lista , mesmo assim Obrigado.

[quote=delegada_ti]Oi! só uma observação no select… não está faltando também o campo de relacionamento entre as duas tabelas, dentro da cláusula WHERE… Algo como page_id = usuario_id ?
[/quote]

Eu só esqci de especificar que era o id