Gostaria de saber se existe uma função que me retorne todos os campos de uma tabela especifica!
Obrigado!
Cara,
No ORACLE (SQL Plus) por exemplo, se você rodar o seguinte comando:
desc <nome_da_tabela);
Isso retornará a descrição da tabela (nomes do campos, tipos de dados, etc …)
Evandro
cara eu to querendo um função em java que me retorne somente os nome dos campos!
Tá aí rapaz, o que você precisa…
Detalhe, só funciona para o oracle, se precisar para outro banco, manda msg
Abração rapaz!
public HashMap getTableStructure(String tableName) throws Exception {
HashMap hsTable = new HashMap();
try {
String sql = "Select * from " + tableName + " where rownum <=1";
Statement stmt = connection.createStatement();
ResultSet rst = stmt.executeQuery(sql);
ResultSetMetaData rstMetaData = rst.getMetaData();
int noOfColumns = rstMetaData.getColumnCount();
for (int j = 1; j <= noOfColumns; j++)
hsTable.put(rstMetaData.getColumnName(j), rstMetaData.getColumnTypeName(j));
rst.close();
stmt.close();
} catch (Exception e) {
System.out.println("Erro "+ e);
}
return hsTable;
}
obrigado vo testar e posto aqui agora para eu pode ter uma ideia qual é a particularidade do oracle neste codigo?
Allém do RowNum que só é aceito pelo oracle, os drivers para outras bancos não implementas em muito dos casos os getMetaData(); …
Principalmente aquele JDBC que a microsoft criou para o SQL Server…hehe, você abre o fonte do código e vê um mundo de métodos não implementados, é de tirar sarro da cara deles mesmo
:-]
Tem alguma coisa do genero aí para o MS Access? :-?