Retornar dados de uma database num array

Como faço pra retornar todas as linhas e colunas de uma consulta em um array?
exemplo:

[code]
query = “SELECT * FROM dados”;

consultaDB(query);

public static String[] consultaDB(String query) {
String[] dados = new String[100];
dados[0] = “Selecione”;

	try {
		Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

		Connection con = DriverManager.getConnection(conexao, login, senha);
		Statement stmt = con.createStatement();
		ResultSet rs = stmt.executeQuery(query);
		ResultSetMetaData rsmd = rs.getMetaData();
		
		
		while (rs.next())
			for (int i = 1; i <= rsmd.getColumnCount(); i++){
				dados[i] = rs.getString(rsmd.getColumnLabel(i));
				System.out.println("Dados[" + i + "]: " + dados[i]);
			}

		stmt.close();
		con.close();

	} catch (Exception e) {
		System.out.println(e);
	}
	return dados;
}[/code]

E a tabela

dados
nome
victor
alex

O problema é que quando eu quero retornar todos os valores, eles ficam armazenados um em cima do outro
tipo
dados[i] = victor
dados[i+1] = alex

e o se eu der
for(int …)
System.out.println(dados[i]);
ele so me mostra o ultimo registro
exemplo
syso -> alex

veja bem, vc tem um for dentro de while. Para cada iteraçãod o seu while ele vai refazer tudo no for :wink:

usa um arraylist assim

ArrayList lista= new ArrayList()

lista.add(seuResultSet.getColuna());

já era…todos os dados da tabela

eu tinha que fazer isso com String[] pois estou usando JComboBox e ele só aceita String[] e não deu pra fazer com ArrayList

String[] referencias = consultaDB(“SELECT * FROM material”);

private JComboBox referencia = new JComboBox(referencias);

cara posso lhe dar uma dica?
de uma olhada em pool de conexao de uma olhada em mvc, e tente criar uma classe dados com os atributos de dados ai dentro do while voce vai incrementar esse objeto dados e vai adicionar ao arrayList por que essa incrementaçao com String ai ta muito feia e vai dar erro.

pra te ajuda posso tentar uma coisa aqui, mas vou dizendo que eu to sem programar tem uns 6 meses acompanho o forum aqui por que eu realmente gosto de java e fico vendo o q ta rolando, mas a classe de pool de conexões tem que ser uma classe singleton e voce tem q fazer o padrao de projeto DAO vo te dar alguns exemplos

Ps: lembrando que eu nao tenho IDE aqui o acesso a internet aqui no meu serviço é muito limitado.

[code]public class PoolConnection{
private static PoolConnection instance;
private string url = …;
private string user = …;
private string pass = …;

private PoolConnection (){
Connection…
}

public static PoolConnection getInstance(){
if (instance = null){
intance = private PoolConnection();
}else
return intance;
}
}[/code]

tem varios erros pois nao me lembro msm mas pro c pegar a conexao vc vai ter que ir na classe DAO que voce criar por exemplo DadosDAO e dar um PoolConnection.getInstance.getConnection(); get connection vai ter q ser outro metodo que voce vai ter que criar. mas é so pra vc ter uma ideia msm