seguinte, fiz um codigo para guardar as informações do banco de dados em um array, segue abaixo:
String[][] dados;
dados = new String[1000][1000];
try{
Class.forName("org.firebirdsql.jdbc.FBDriver");
conexao = DriverManager.getConnection("jdbc:firebirdsql:localhost/3050:C:\\teste\\CADASTROS.FDB","SYSDBA","masterkey");
statement = conexao.createStatement();
resultset = statement.executeQuery("select * from tb_clientes");
//guardando dados no array
int linha = 0;
while (resultset.next()){
dados[linha][0] = resultset.getString("cod");
dados[linha][1] = resultset.getString("nome");
dados[linha][2] = resultset.getString("endereco");
dados[linha][3] = resultset.getString("email");
dados[linha][4] = resultset.getString("telefone");
dados[linha][5] = resultset.getString("estado");
dados[linha][6] = resultset.getString("sexo");
dados[linha][7] = resultset.getString("interesses");
dados[linha][8] = resultset.getString("biografia");
dados[linha][9] = resultset.getString("dat");
linha++;
}
//exibindo array
int x=0;
for(int i=0 ; i<2 ; i++){
while(x<9){
System.out.println("dados["+i+"]["+x+"]" + dados[i][x]);
x++;
}
}
}
catch(ClassNotFoundException Driver){
JOptionPane.showMessageDialog(null, "DRIVER NAO LOCALIZADO");
}
catch(SQLException Fonte){
JOptionPane.showMessageDialog(null, "erro na conexão com a fonte");
}
beleza funciona legal!
porem, pesquisando verifiquei que ficaria melhor guardar os dados em uma classe e depois instaciar objetos.
entao criei a classe cleinte:
public class Cliente {
private String cod;
private String nome;
private String endereco;
private String email;
private String telefone;
private String estado;
private String sexo;
private String interesses;
private String biografia;
private String dat;
//e os get e set desses atributos!
ae fui fazer a parte de adicionar os dados a esses atributos.
ficou assim:
try{
Class.forName("org.firebirdsql.jdbc.FBDriver");
conexao = DriverManager.getConnection("jdbc:firebirdsql:localhost/3050:C:\\teste\\CADASTROS.FDB","SYSDBA","masterkey");
statement = conexao.createStatement();
resultset = statement.executeQuery("select * from tb_clientes");
//verificando quando registros ha no banco!
int i=0;
while(resultset.next()){
i++;
}
System.out.println(i);
//zerando o resultset
resultset = statement.executeQuery("select * from tb_clientes");
//colocando nos objetos
int x = i;
Cliente[] cliente = new Cliente[x];
while(resultset.next()){
for (int y = 0; y < x; y++){
cliente[i] = new Cliente();
cliente[i].setNome(resultset.getString("cod"));
}
}
}
catch(ClassNotFoundException Driver){
JOptionPane.showMessageDialog(null, "DRIVER NAO LOCALIZADO");
}
catch(SQLException Fonte){
JOptionPane.showMessageDialog(null, "erro na conexão com a fonte");
}
porem ocorre o erro:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
at guardardadosemarray.GuardarDadosDoBancoNoObjeto.atualizarArray(GuardarDadosDoBancoNoObjeto.java:41)
at guardardadosemarray.ClassePrincipal.main(ClassePrincipal.java:19)
Java Result: 1
alguem saberia me ajudar??
