我正在開發一個Java GUI項目;在它的一個屬性屏幕中,我使用3個組合框來獲取:第一個用戶選擇數據庫名稱,其值爲2.Schema名稱以及該模式下的所有表名。從DB獲取值並設置它們時,使用ResultSet時可以。但是用這種方法,我只能帶上一個值,因爲你知道ResultSet的工作方式。那麼有什麼其他的方式可以讓我們說所有的表名:使用Java從Oracle獲取表名稱?
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));
}
我們確實知道ResultSet是如何工作的,因此知道它可以包含多行。向我們顯示您的代碼,以便我們解決它。 –
@JB Nizet:這很奇怪,考慮到獲得ResultSet的唯一方法是讓任何**行調用一個名爲next()的方法。 「下一個」這個詞通常會建議更多的行... –
錯誤,是的。這就是爲什麼我說結果集可以包含多行,而不僅僅是OP在他的問題中所說的那樣。我錯過了什麼? –