在暴露我的問題之前,我不得不說我從未有過Java甚至開發研究。所以對不起如果我的問題似乎「愚蠢」...JDBC - 多維數組和分析結果
我必須從德比數據庫的幾列顯示結果到面板。
爲了做到這一點,我有它返回我的陣列爲一列和一個結果的方法:
public String[] toStringArray(ResultSet resultSet, int columnIndex) {
LinkedList<String> resultList = new LinkedList<String>();
try {
while (resultSet.next()) {
resultList.add(resultSet.getString(columnIndex));
} catch (SQLException e) {
e.printStackTrace();
}
return resultList.toArray(new String[0]);
}
這是我的從第一返回一個二維陣列throught第一方法第二methoid和我的數據庫的第二列...
public String[][] GetArray() {
String[] arrayone = new String[0];
String[] arraytwo = new String[1];
String[][] array = new String[2][];
try {
String getInfo =
"SELECT ONE, TWO FROM APP.DB ";
ResultSet listR = s.executeQuery(getInfo);
arrayone = toStringArray(listR,1);
arraytwo = toStringArray(listR,2);
array [0] = arrayone;
array [1] = arraytwo;
} } }catch (SQLException ex) {
Logger.getLogger(CalendarPanelTest.class.getName()).log(Level.SEVERE, null, ex);
}}
return array;
}
所以我回兩個陣列尺寸從數據庫中兩列的結果...
現在我的存款保險計劃玩它像(的想法,結果數是從兩列相同的結果查詢 - 或空值已被feeded顯示):
String[][] result = GetArray();
int nb = array.length;
for(int a=0; a < nb; a++)
{
System.print.ln(result[0][a]+result[1][a])
}
我認爲這個問題是在
return resultList.toArray(new String[0]);
我試圖改變這個對象沒有結果......
這似乎推DATAS只到第一列...
或形式我的方法還是在delacart該colums陣列的離子:
String[] arrayone = new String[0];
String[] arraytwo = new String[1];
String[][] array = new String[2][];
但我嘗試了所有可能數量和這一個給我從第一科拉姆的結果時,我想以顯示它...:
String[][] array = new String[2][];
即使
String[][] array = new String[1][]
或
String[][] array = new String[0][1];
似乎更合乎邏輯......
我會很高興的解決方案的一些建議,正確構建這兩dimensionnal陣列或給我的方式到其他更好的解決辦法...
是一個數組最好的方法來做到這一點?如果我需要顯示10個colmuns的結果,這可能是實現這一目標的最佳/快捷方式?
最好的問候,並對不起,我的英文不好...
編輯:我的解決辦法是增加一個第二個結果的第二個值:
ResultSet listR = s.executeQuery(getInfo);
ResultSet listR2 = s.executeQuery(getInfo);
arrayone = toStringArray(listR,1);
arraytwo = toStringArray(listR2,2);
感謝Soumyadip達斯他的幫助! !問候,
工作速度在第一時間正常工作...
謝謝你的回答。抱歉,括號中有一些「println」代碼,我用「while end」括號刪除。我試過你的解決方案,但是數組[1] = arraytwo;和array [0] = arrayone;導致問題,我不知道如何找回數據......我將繼續搜索,如果發現有問題,我會再次發佈。你怎麼說「調試你的代碼」,你說「注意力」還是「使用像Junit這樣的工具?」我是一個網絡和系統管理員,糟糕的是我編碼像我腳本... – neuronsoverflow
Finnaly上面的代碼工作,但我不得不添加第二個結果集的第二個值... ResultSet listR = s.executeQuery(getInfo); ResultSet listR2 = s.executeQuery(getInfo); arrayone = toStringArray(listR,1); arraytwo = toStringArray(listR2,2);你是對的,調試我的代碼是第一件事!問候, – neuronsoverflow
很高興知道它幫助你...一切順利。請給予答案並加油! :) –