[java-list] Collection

2002-07-18 Por tôpico Marcelo Léo Bacha




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

2002-07-18 Por tôpico Romulo Oliveira Souza


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

2002-07-18 Por tôpico Roberto Hideki



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

2002-06-08 Por tôpico Roberto Figueiredo
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

2002-06-05 Por tôpico Romulo Oliveira Souza

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

2001-08-28 Por tôpico Ricardo Marinho

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

2001-08-28 Por tôpico CrazyDuke

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

2001-08-28 Por tôpico Fabio Hasegawa

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

2000-11-29 Por tôpico Roberto Tatemoto

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

2000-11-27 Por tôpico Alexandre Torres

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

2000-11-26 Por tôpico Leonardo Goncalves

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] 
-