Bom dia galera,
preciso de um help, preciso que meu progrmaa busque o total de linhas que o resultset do sql retornou para poder criar um array e depois armazenar o resultado no array
alguem sabe como resolvo isso?
falow
Acabaram de criar um tópico desse a 30 minutos atrás:
http://www.guj.com.br/posts/list/64347.java
T+
[quote=vandre.paes]Bom dia galera,
preciso de um help, preciso que meu progrmaa busque o total de linhas que o resultset do sql retornou para poder criar um array e depois armazenar o resultado no array
alguem sabe como resolvo isso?
falow[/quote]
Normalmente você não “resolve” isso dessa maneira (contando as linhas e dimensionando o array) - é um jeito tosco de trabalhar; você faz o seguinte:
a) Crie um ArrayList para conter os resultados do resultset
b) à medida que você vai percorrendo o resultset, vai adicionando os resultados ao ArrayList.
c) E se você REALMENTE precisa de um array (acho que é sempre melhor trabalhar com ArrayList, não com arrays), existe um método em ArrayList que converte o ArrayList em um array, chamado “toArray”.
Exemplo:
class Cliente {
public int id;
public String nome, endereco, telefone;
}
...
String sql = "SELECT id, nome, endereco, telefone FROM CLIENTE";
...
List <Cliente> clientes = new ArrayList <Cliente> ();
ResultSet rs = ...;
while (rs.next()) {
Cliente umCliente = new Cliente();
umCliente.id = rs.getInt ("id");
umCliente.nome = rs.getString ("nome");
... e assim por diante
clientes.add (umCliente);
}
rs.close();
// e é aqui que você define o array .
Cliente[] arrayClientes;
arrayClientes = clientes.toArray (new Cliente[0]);
tem como fazer um arraylist multidimensional???
Sim. No ArrayList vc pode botar qualquer tipo de objeto, portanto basta o objeto que vc guarda no ArrayList ser um ArrayList.
De novo, acho que você está usando arrays onde não é para usar arrays. Você provavelmente quer algo como (dando o exemplo da classe Cliente):
coluna [0] = id
coluna [1] = nome
coluna [2] = endereço
O correto é criar sempre uma classe, mesmo que seja uma classe boba, para que isso fique mais claro para você dentro de seu programa. (Olhando [2] dentro de seu programa, como vou saber que isso é o campo de “endereço”?)
Mas você pode ter um ArrayList de ArrayList, embora isso não seja muito prático.
na verdade o que estou tentanto fazer é adicionar as linhas de uma consulta sql em uma matriz cheguai a algo do tipo
while (rs.next()) {
Object[] row = {rs.getString("OrdemPro"), rs.getString("UnMed"), rs.getString("Quantidade") };
aRow.add(row);
}
Object data[][] = (Object[][]) aRow.toArray();
Ainda estou viajando???