2015-05-01 85 views
1

我想顯示與此圖案結果集值:如何填寫2 d陣列動態

Object rowData[][] = { { url , tags , text }, { url , tags , text } };

我的代碼是:

while (res.next()) { 
    String url = res.getString(1); 
    String tags = res.getString(2); 
    String text = res.getString(3); 
} 
Object rowData[][] = { { "Row1-Column1", "Row1-Column2", "Row1-Column3" }, 
       { "Row2-Column1", "Row2-Column2", "Row2-Column3" } }; 

Object columnNames[] = { "URL", "Tag Information", "Text" }; 
JTable table = new JTable(rowData, columnNames);` 
+1

請用'這種風格爲您code'。更可讀。 – Shondeslitch

+2

請問您可以多描述一下您爲什麼通過動態理解。因爲它不夠清楚你想要什麼! – Parth

+0

@Parth如果結果集返回兩個值,那麼數組將會是rowData [] [] = {{url,tags,text},{url,tags,text}},我想在數組「rowData」中添加reslut set值。 }; url,tags,text是我的數據庫顏色名稱 –

回答

0

看這個簡單的例子:

public static void main(String[] args) { 

    int rows = 3; //res.getCount() ? 
    int columns = 3; 

    Object[][] rawData = new Object[rows][columns]; 

    for(int row = 0; row < rows; row++){ 
     rawData[row][0] = row + " - url"; 
     rawData[row][1] = row + " - tags"; 
     rawData[row][2] = row + " - text"; 
    } 

    System.out.println(Arrays.toString(rawData[0])); // print first row 
} 

字符串串聯內部是一個非常糟糕的主意,但這應該是隻是一個例子

0

下面是conde片段,它可以用來實現你想要的。

int rowcount = 0; 
if (res.last()) { 
    rowcount = res.getRow(); 
    res.beforeFirst(); 
} 
Object rowData[][] = new Object[rowcount][]; 
int count = 0; 
while (res.next()) { 
    rowData[count] = new Object[] {res.getString(1),res.getString(1),res.getString(3)}; 
    count++; 
} 
Object columnNames[] = { "URL", "Tag Information", "Text" }; 
JTable table = new JTable(rowData, columnNames); 
1

使用列表來存儲數據的每個文件,然後將列表轉換爲數組:

List<Object[]> data = new ArrayList<Object[]>(); 
while (res.next()) { 
    data.add(new Object[]{res.getString(1), res.getString(2),res.getString(3)}); 
} 

Object[][] rowData = data.toArray(new Object[0][0]); 
JTable table = new JTable(rowData, columnNames);