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("<tr><td>Código<td>Nome</tr>");
while(i.hasNext()){
Conexao.Pessoa p =
i.next().clone();
//out.println("<tr><td>" + String.valueOf(p.getCodigo()) +
"<td> "+ p.getNome() +
"</tr>");
out.println("<tr><td>" + "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
(row<1){
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