Boa noite pessoal , estou com uma duvida sobre dar um select no banco em 2 ou mais tabelas ao mesmo tempo por exemplo:
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;
}
Como eu trato esse metodo getPageFromSql para receber os valores e jogar nos dois beans? no Caso o Pages e Usuarios, Obrigado.
vamos do comerçar do começo :D
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
R
rib
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;
}
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 ?
R
rib
delegada_ti , obrigado pela observação mas o select é tranquilo a duvida é mesmo em adicionar os resultados na lista , mesmo assim Obrigado.
joede.fadel
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 ?