Número de colunas no conjunto de resultados que você pode obter com o código (como DB é usado PostgreSQL):
// carregue o driver para PostgreSQL
Class.forName ("org.postgresql.Driver");
String url = "jdbc: postgresql: // localhost / test";
Propriedades adereços = novo Propriedades ();
props.setProperty ("usuário", "mydbuser");
props.setProperty ("senha", "mydbpass");
Conexão conn = DriverManager.getConnection (url, props);
// criar declaração
Instrução stat = conn.createStatement ();
// obtenha um conjunto de resultados
ResultSet rs = stat.executeQuery ("SELECT c1, c2, c3, c4, c5 FROM MY_TABLE");
// do conjunto de resultados fornece metadados
ResultSetMetaData rsmd = rs.getMetaData ();
// contagem de colunas do objeto de metadados
int numOfCols = rsmd.getColumnCount ();
Mas você pode obter mais meta-informações sobre colunas:
for(int i = 1; i <= numOfCols; i++)
{
System.out.println(rsmd.getColumnName(i));
}
E pelo menos, mas não menos importante, você pode obter algumas informações não apenas sobre a mesa, mas também sobre o DB, como fazer isso você pode encontrar aqui e aqui .
ResultSetMetaData
implementação lidam com registros CSV de comprimento variável. Por exemplo, se você especificouSELECT * FROM sample
e cada linha continha um número diferente de campos, a contagem de colunas seria reavaliada para cada linha que foi iterada?