使用 Java 从 Oracle 获取表名?
我正在开发一个 Java GUI 项目;在其中一个属性屏幕中,我使用 3 个组合框来获取:第一个用户选择数据库名称,该值是 2.模式名称,以及该模式下的所有表名称。当我从数据库获取值并设置它们时使用 ResultSet 是可以的。但通过这种方式,我只能带来一个值,因为你知道 ResultSet 的工作方式。那么有没有其他方法可以获取所有表名,例如:
SELECT TABLE_NAME FROM ALL_TABLES;
并将它们放在字符串或其他数组中......任何可能的方式,我只想拥有他们的名字在列表或任何东西中。
谢谢。
编辑:
这是为此目的测试的简单代码:
ResultSet rs = null;
PreparedStatement ps = null;
String result;
ps = conn.prepareStatement("SELECT TABLE_NAME FROM ALL_TABLES");
rs = ps.executeQuery();
while(rs.next())
{
result = rs.getString(1);
System.out.println(rs.getString(1));
}
I'm working on a Java GUI project; in one of its property screen I use 3 comboboxes in order to get: first user chooses DB name, with this value 2.Schema names and with this all table names under that schema. It's OK when I use ResultSet when getting the values from DB and setting them. But with this way, I could only bring ONE value because you know the way ResultSet works. So is there any other way that I could fetch all the table names with let's say:
SELECT TABLE_NAME FROM ALL_TABLES;
and put them on an array of Strings or sth... Anything possible, I just wanna have their names in a list or anything.
Thank you.
EDIT:
Here's the simple code tested for the purpose:
ResultSet rs = null;
PreparedStatement ps = null;
String result;
ps = conn.prepareStatement("SELECT TABLE_NAME FROM ALL_TABLES");
rs = ps.executeQuery();
while(rs.next())
{
result = rs.getString(1);
System.out.println(rs.getString(1));
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
不确定“你知道结果集的工作方式”是什么意思?!这将返回查询中的所有行:
Not sure what you mean by 'you know the way resultset works'?! This will return all the rows from the query:
您基本上需要查询元数据。请参阅此示例了解如何执行此操作。
You need to quesry for meta data basically. See this example on how to do it.
只需使用列表:
阅读有关集合的教程。这是所有 Java 开发人员都必须了解的内容。
Just use a List:
Read the tutorial about collections. This is stuff that all Java developers must know.
您还可以使用:
阅读此 了解更多信息。
You could also use:
Read this for more info.