0
我使用耶拿API和我運行一個SELECT查詢這就好比是這個 -如何從SPARQL SELECT查詢獲得的結果集轉換爲地圖
SELECT ?stream ?numberOfStudents
where {
?stream inst:hasNumber ?numberOfStudents
}
這其中一列就是'返回一個結果集流',另一個是'numberOfStudents'。現在我想將其轉換爲一個地圖使用下面的代碼 -
public static getResultAsMap(ResultSet rs){
Map<String, Integer> myMap = new HashMap<String, Integer>();
int column1Pos = rs.findColumn("stream");
int column2Pos = rs.findColumn("numberOfStudents");
while (rs.next()) {
String column1 = rs.getString(column1Pos);
int column2 = rs.getInt(column2Pos);
myMap.put(column1, column2);
}
但是,這得到一個錯誤的說法我不能使用findColumn方法。有什麼方法可以實現從結果集中獲取地圖的目標。如果這看起來完全錯誤,有人建議我採用更好的方法來實現從結果集中獲取地圖的目標。
爲什麼不使用的基礎知識:'rs.getString( 「流」)'和' rs.getInt(「numberOfStudents」)' – ares 2014-09-26 15:23:54
這是一個奇怪的錯誤... 你可以打印確切的堆棧跟蹤? findColumn文檔說: SQLException - 如果ResultSet對象不包含標記爲columnLabel的列,則會發生數據庫訪問錯誤,或者在已關閉的結果集上調用此方法 @ares:這應該沒有區別 - 而且效率低下。 – Centril 2014-09-26 15:28:21
我沒有得到堆棧跟蹤中的錯誤,當我嘗試使用此方法時findcolumn()eclipse發出錯誤並說 - 方法findColumn(String)對於類型ResultSet未定義。 – 2014-09-26 15:34:20