[java-list] Collection
Ola Lista, Estou com o seguinte problema: faço acesso ao banco de dados e leio varios registros, associo cada registro a um objeto pessoa e devolvo tudo em ArrayList. O problema é que não consigo manipula-lo. Segue codigo, se alguem puder me ajudas. Conexao.PessoaDB pDB = new Conexao.PessoaDB(); try{ ArrayList l = pDB.getPessoas(); Iterator i = l.iterator(); out.println("table"); out.println("trtdCódigotdNome/tr"); while(i.hasNext()){ Conexao.Pessoa p = i.next().clone(); //out.println("trtd" + String.valueOf(p.getCodigo()) + "td "+ p.getNome() + "/tr"); out.println("trtd" + "teste" + "td "+ i.next() + "/tr"); } out.println("/table"); }catch(Exception e){ out.println(e.getMessage()); } --- package Conexao; import java.sql.*;import java.util.*;/ @author Administrador* @version */public class PessoaDB extends conexao{ /** Creates new PessoaDB */ public PessoaDB() { super(); } public int getPessoa(Conexao.Pessoa p){ Statement stmt; ResultSet rs; String sql; int erro; // erro=0; sql = "SELECT * FROM medico WHERE codigo = '" + String.valueOf(p.getCodigo()) + "'"; try{ stmt = this.con.createStatement(); rs = stmt.executeQuery(sql); if (rs.next()){ p.setNome(rs.getString(3)); }else{ erro=1; } rs.close(); stmt.close(); return(erro); }catch(Exception e){ System.out.println(e.getMessage()); return(2); } } public int setPessoa(Conexao.Pessoa p){ Statement stmt; ResultSet rs; int row, erro=0; String sql; // try{ stmt = this.con.createStatement(); if (p.getCodigo()!=0){ sql = "SELECT * FROM medico WHERE codigo = '" + String.valueOf(p.getCodigo()) + "'"; rs = stmt.executeQuery(sql); if (rs.next()){ sql = "UPDATE medico SET nome='" + p.getNome() + "' WHERE codigo='" + String.valueOf(p.getCodigo()) + "'"; }else{ sql = "INSERT INTO medico(nome) VALUES('" + p.getNome() + "')"; } rs.close(); }else{ sql = "INSERT INTO medico(nome) VALUES('" + p.getNome() + "')"; } row = stmt.executeUpdate(sql); if (row1){ erro = 1; System.out.println("Erro: "+ String.valueOf(row)); } stmt.close(); }catch(Exception e){ System.out.println(e.getMessage()); erro=2; } return(erro); } public ArrayList getPessoas(){ //ArrayList lista = new ArrayList(); Statement stmt; ResultSet rs; Pessoa p; ArrayList lista = new ArrayList(); try{ stmt = this.con.createStatement(); rs = stmt.executeQuery("SELECT * FROM medico ORDER BY nome"); while(rs.next()){ p = new Pessoa(); p.setCodigo(rs.getInt("codigo")); p.setNome(rs.getString("nome")); lista.add(p); } }catch(Exception e){ System.out.println(e.getMessage()); } return(lista); }} ---Outgoing mail is certified Virus Free.Checked by AVG anti-virus system (http://www.grisoft.com).Version: 6.0.377 / Virus Database: 211 - Release Date: 15/07/2002
Re: [java-list] Collection
Utilize o seguinte codigo no seu cliente: ArrayList l = pDB.getPessoas(); Object [] rem = i.toArray(); for (int i = 0; i rem.length; i++) { Pessoa p = (Pessoa) rem[i]; } } -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -
Re: [java-list] Collection
Falta um "cast" da classe Conexao.PessoaDB na linhaConexao.Pessoa p = i.next().clone(), e a classe a ser instanciada deve ser Conexao.PessoaDB e não Conexao.Pessoa (erro de digitação ?) Outra coisa não use o método clone(), pois esse método é protected. A linha fica assim: Conexao.PessoaDB p = (Conexao.PessoaDB )i.next(); O metodo add() espera uma instância da classe java.lang.Object, e vai devolver uma instância dessa classe no método next(). Então é necessário fazer uma coerção (cast) explicita para recuperar o objeto de dentro do ArrayList. Se no ArrayListfor adicionado um objeto de uma classe que não seja Conexao.PessoaDB, no momento do next() vai ocorrer uma exceção de cast. Roberto Tatemoto Estou com o seguinte problema: faço acesso ao banco de dados e leio varios registros, associo cada registro a um objeto pessoa e devolvo tudo em ArrayList. O problema é que não consigo manipula-lo. Segue codigo, se alguem puder me ajudas. Conexao.PessoaDB pDB = new Conexao.PessoaDB(); try{ ArrayList l = pDB.getPessoas(); Iterator i = l.iterator(); out.println("table"); out.println("trtdCódigotdNome/tr"); while(i.hasNext()){ Conexao.Pessoa p = i.next().clone(); //out.println("trtd" + String.valueOf(p.getCodigo()) + "td "+ p.getNome() + "/tr"); out.println("trtd" + "teste" + "td "+ i.next() + "/tr"); } out.println("/table"); }catch(Exception e){ out.println(e.getMessage()); } --- package Conexao; import java.sql.*;import java.util.*;/ @author Administrador* @version */public class PessoaDB extends conexao{ /** Creates new PessoaDB */ public PessoaDB() { super(); } public int getPessoa(Conexao.Pessoa p){ Statement stmt; ResultSet rs; String sql; int erro; // erro=0; sql = "SELECT * FROM medico WHERE codigo = '" + String.valueOf(p.getCodigo()) + "'"; try{ stmt = this.con.createStatement(); rs = stmt.executeQuery(sql); if (rs.next()){ p.setNome(rs.getString(3)); }else{ erro=1; } rs.close(); stmt.close(); return(erro); }catch(Exception e){ System.out.println(e.getMessage()); return(2); } } public int setPessoa(Conexao.Pessoa p){ Statement stmt; ResultSet rs; int row, erro=0; String sql; // try{ stmt = this.con.createStatement(); if (p.getCodigo()!=0){ sql = "SELECT * FROM medico WHERE codigo = '" + String.valueOf(p.getCodigo()) + "'"; rs = stmt.executeQuery(sql); if (rs.next()){ sql = "UPDATE medico SET nome='" + p.getNome() + "' WHERE codigo='" + String.valueOf(p.getCodigo()) + "'"; }else{ sql = "INSERT INTO medico(nome) VALUES('" + p.getNome() + "')"; } rs.close(); }else{ sql = "INSERT INTO medico(nome) VALUES('" + p.getNome() + "')"; } row = stmt.executeUpdate(sql); if (row1){ erro = 1; System.out.println("Erro: "+ String.valueOf(row)); } stmt.close(); }catch(Exception e){ System.out.println(e.getMessage()); erro=2; } return(erro); } public ArrayList getPessoas(){ //ArrayList lista = new ArrayList(); Statement stmt; ResultSet rs; Pessoa p; ArrayList lista = new ArrayList(); try{ stmt = this.con.createStatement(); rs = stmt.executeQuery("SELECT * FROM medico ORDER BY nome"); while(rs.next()){ p = new Pessoa(); p.setCodigo(rs.getInt("codigo")); p.setNome(rs.getString("nome")); lista.add(p); } }catch(Exception e){ System.out.println(e.getMessage()); } return(lista); }} ---Outgoing mail is certified Virus Free.Checked by AVG anti-virus system (http://www.grisoft.com).Version: 6.0.377 / Virus Database: 211 - Release Date: 15/07/2002
Re: [java-list] collection
Não entendi porque você utiliza a clausula LIKE na busca pelo nome do usuário rs = stmtCheckUser.executeQuery("SELECT p FROM Pessoal AS p WHEREp.Username like '%"+user+"%'"); e faz uma busca através do resultado pela password. Isto que você fez, faz com que traga os usuários que possuam aquele conjunto de caracteres. Por exemplo: Nome Password Almeida 123 Alex 1234 Se eu tentar logar com o usuário de nome "a" e password "123" ele vai conseguir entrar, pois o resultado da busca será: Nome Password Almeida 123 Alex 1234 e a password será conincidente com a do Almeida. -Mensagem Original- De: Romulo Oliveira Souza Enviado: Wednesday, May 29, 2002 3:20 PM Para: [EMAIL PROTECTED] Assunto: [java-list] collection Olá pessoal,Estou com o probleminha com collection na minha aplicaçãoque é o seguinte (no caso de login):- Eu consigo logar com apenas alguns usuários cadastrados, os outros nãolongam.- Eu consigo logar com um usuário que já foi excluido da base de dados.Estou utilizando ejb de sessao e de entidade que seguem abaixo. Alguémpoderia me ajudar??? Muito obrigado.=== PessoalRemoteimport java.rmi.*;import javax.ejb.*;import java.lang.*;public interface PessoalRemote extends EJBObject { public Integer getId() throws RemoteException; public void setId(Integer id) throws RemoteException; public String getUsername() throws RemoteException; public void setUsername(String username) throws RemoteException; public String getPassword() throws RemoteException; public void setPassword(String password) throws RemoteException; public String getNome() throws RemoteException; public void setNome(String nome) throws RemoteException; public String getEndereco() throws RemoteException; public void setEndereco(String endereco) throws RemoteException; public String getCidade() throws RemoteException; public void setCidade(String cidade) throws RemoteException; public void Grava() throws RemoteException; public void LogIn(String user) throws RemoteException;} PessoalBean =../*** Método findByUsername(String username).**/ public Collection ejbfindByUsername(String user) throws RemoteException,FinderException { try { Conecta(); if (rs != null) rs.close(); Statement stmtCheckUser = PessoalBean.con.createStatement(); rs = stmtCheckUser.executeQuery("SELECT p FROM Pessoal AS p WHEREp.Username like '%"+user+"%'"); if (rs == null){System.out.println("o rs não pegou nada!!!");} } catch (Exception e) { System.err.println ("Falha criando o rs no CheckUser"); } try { if (rs != null) { LinkedList lista = new LinkedList(); if (rs.next()){ PessoalRemote obj = null; obj.setId(new Integer(rs.getInt("Id"))); obj.setUsername(rs.getString("Username")); obj.setPassword(rs.getString("Password")); obj.setNome(rs.getString("Nome")); obj.setEndereco(rs.getString("Endereco")); obj.setCidade(rs.getString("Cidade")); lista.add(obj); } return lista; } } catch (Exception e) { System.err.println ("Falha recuperando os dados Login2 e Password2"); } return null; }== SessaoBean ==../* * Método LogIn. Recebe o username de usuário e se ele estivercadastrado, * retorna 'true', caso contrário, retorna 'false'./ public boolean LogIn (String username, String password) throwsRemoteException { PessoalHome home = (PessoalHome) getHome("Pessoal-ejb",PessoalHome.class); try { Collection colecao = home.findByUsername(username); Iterator i = colecao.iterator(); PessoalRemote remote = null; if (i.hasNext()) { remote = (PessoalRemote)i.next(); if (remote.getPassword().trim().equals(password)) return true; } } catch(Exception e) { System.err.println (" ERRO EM 'SessaoBean.LogIn'!!!"); System.out.println ("=== DESCRICAO: " + e); System.err.println (" FIM DO ERRO"); } return false; }-- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SPdúvidas mais comuns: http://www.soujava.org.br/faq.htmregras da lista: http://www.soujava.org.br/regras.htmhistorico: http://www.mail-archive.com/java-list%40soujava.org.brpara sair da lista: envie email para [EMAIL PROTECTED]-Aproveite melhor a Web. Faça o download GRÁTIS do MSN Explorer : http://explorer.msn.com.br/intl.asp#po
[java-list] collection de objetos ejb
Pessoal... Como eu faço uma collection, dentro de um ejb de entdade, com os dados recuperados de uma tabela? Essa collection tem que ser de objeto, não é? Que objeto é esse, o proprio Bean ou sua interface remota? E para recuperar essa collection no cliente, no caso eu uso um ejb de sessao? muito obrigado -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -
[java-list] Collection
Collections cai na prova de certificacao de programador da Sun? -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm para sair da lista: envie email para [EMAIL PROTECTED] -
Re: [java-list] Collection
sim - Original Message - From: Ricardo Marinho [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Tuesday, August 28, 2001 10:27 AM Subject: [java-list] Collection Collections cai na prova de certificacao de programador da Sun? -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm para sair da lista: envie email para [EMAIL PROTECTED] - _ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm para sair da lista: envie email para [EMAIL PROTECTED] -
Re: [java-list] Collection
Cai sim... mais conceitos de: List Set Map []´s Fábio - Original Message - From: Ricardo Marinho [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Tuesday, August 28, 2001 10:27 AM Subject: [java-list] Collection Collections cai na prova de certificacao de programador da Sun? -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm para sair da lista: envie email para [EMAIL PROTECTED] - -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm para sair da lista: envie email para [EMAIL PROTECTED] -
Re: [java-list] Collection com 2 ou mais chaves
Caros, Segundo a documentacao da Sun ( http://java.sun.com/j2se/1.3/docs/api/ ) o HashMap nao permite duas chaves. Nao achei nehuma API que faça isso. Acho que Vc. terá que implementar um HashMap (ou Hashtable) dentro de outro HashMap, isto é, fazer a montagem e pesquisa das duas chaves na mão. Roberto Tatemoto - Original Message - From: "Alexandre Torres" [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Monday, November 27, 2000 4:50 PM Subject: Re: [java-list] Collection com 2 ou mais chaves tem, mas eu nao lembro o nome. Tvz chame-se hashmap. Procure no tutorial de coleções em: http://www.javasoft.com/docs/books/tutorial/ Boa sorte. Leonardo Goncalves wrote: Ola pessoal, Alguem conhece alguma API que implemente uma Colecao que permita uma busca por elementos utilizando mais de uma chave (algo do tipo Hashtable dupla) ? Valeu []'s Leonardo _ Get more from the Web. FREE MSN Explorer download : http://explorer.msn.com -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm para sair da lista: envie email para [EMAIL PROTECTED] - -- Alexandre Torres Analista de Sistemas e Tecnologia - Dixtal Biomédica -- Por favor, nao forneça meu e-mail a terceiros sem minha autorização. -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm para sair da lista: envie email para [EMAIL PROTECTED] - -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm para sair da lista: envie email para [EMAIL PROTECTED] -
Re: [java-list] Collection com 2 ou mais chaves
tem, mas eu nao lembro o nome. Tvz chame-se hashmap. Procure no tutorial de coleções em: http://www.javasoft.com/docs/books/tutorial/ Boa sorte. Leonardo Goncalves wrote: Ola pessoal, Alguem conhece alguma API que implemente uma Colecao que permita uma busca por elementos utilizando mais de uma chave (algo do tipo Hashtable dupla) ? Valeu []'s Leonardo _ Get more from the Web. FREE MSN Explorer download : http://explorer.msn.com -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm para sair da lista: envie email para [EMAIL PROTECTED] - -- Alexandre Torres Analista de Sistemas e Tecnologia - Dixtal Biomédica -- Por favor, nao forneça meu e-mail a terceiros sem minha autorização. -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm para sair da lista: envie email para [EMAIL PROTECTED] -
[java-list] Collection com 2 ou mais chaves
Ola pessoal, Alguem conhece alguma API que implemente uma Colecao que permita uma busca por elementos utilizando mais de uma chave (algo do tipo Hashtable dupla) ? Valeu []'s Leonardo _ Get more from the Web. FREE MSN Explorer download : http://explorer.msn.com -- LISTA SOUJAVA http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm para sair da lista: envie email para [EMAIL PROTECTED] -