如何在JAVA中获取表的列名

如题.Oracle9i/10g.现在需要获取表的列名以及数据类型,就类似与DESC出来的那样.请问如何实现,请高手门不吝赐教``... 如题.Oracle9i/10g.
现在需要获取表的列名以及数据类型,就类似与DESC出来的那样.
请问如何实现,请高手门不吝赐教``
展开
 我来答
扯猫尾吧bK
2009-02-10 · TA获得超过321个赞
知道小有建树答主
回答量:453
采纳率:0%
帮助的人:149万
展开全部
不知道你用的是什么数据库,如果是oracle的话,可以用oracle的JDBC driver,它里面的ResultSetMetaData可以取到表名。

另外一个方法,在oracle里面有很多object,你可以写SQL进行查询,然后得到含有列名(colname)的TableName.

俺倒是想到一个土办法,根据列名来获取表名。
其实很简单,首先获取所有的表名,记录下来。有了表名,就可以知道其Meta信息了,可以获取相应的列名。然后把已知的列名在所有列名中遍历,对应的所有表名就可以得到了。
提供一段获取所有表名的代码片断,主要靠DatabaseMetaData:

DatabaseMetaData databaseMetaData = conn.getMetaData();
String[] tableType = {"TABLE"};
ResultSet resultSet = databaseMetaData.getTables(null, null, "%", tableType);

try {
while(resultSet.next()) {
String schemaName = resultSet.getString(2);
String tableName = resultSet.getString(3);
}
} finally {
resultSet.close();
}
wisher_chang
2009-02-10
知道答主
回答量:57
采纳率:0%
帮助的人:22.2万
展开全部
首先获取所有的表名,记录下来。有了表名,就可以知道其Meta信息了,可以获取相应的列名。然后把已知的列名在所有列名中遍历,对应的所有表名就可以得到了。
提供一段获取所有表名的代码片断,主要靠DatabaseMetaData:

DatabaseMetaData databaseMetaData = conn.getMetaData();
String[] tableType = {"TABLE"};
ResultSet resultSet = databaseMetaData.getTables(null, null, "%", tableType);

try {
while(resultSet.next()) {
String schemaName = resultSet.getString(2);
String tableName = resultSet.getString(3);
}
} finally {
resultSet.close();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
rxj_2008
推荐于2016-02-26 · TA获得超过463个赞
知道小有建树答主
回答量:218
采纳率:100%
帮助的人:183万
展开全部
heads=new Vector();
ResultSetMetaData rsmd=rs.getMetaData();//rs为查询结果集
int count=rsmd.getColumnCount();
for(int i=1;i<=count;i++){
heads.add(rsmd.getColumnName(i));//把列名存入向量heads中
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式