我会尽力解释。我是一个菜鸟,并且一直试图解决这个问题几个小时......
我创建了一个Java应用程序,它显示了它所连接的数据库中的数据。 (ODBC / Microsoft SQL)。
当我为应用程序制作GUI时,我决定在jList中显示数据。
然后我意识到信息太多了,我需要列名等(因此是一个jTable)
我想要做的是改变,以便数据显示在jTable而不是jList中。但我不知道该怎么做。
这就是代码现在的样子:
GUI
private void jComboBox1_actionPerformed(ActionEvent e)throws SQLException {
String selected = jComboBox1.getSelectedItem().toString();
String[]tmp = conn.showTable1(selected);
jList1.setListData(tmp);
}
控制器
public String[] showTable1(String table)throws SQLException {
ArrayList<String> list1 = dal.showTable1(table);
return list1.toArray(new String[list1.size()]);
}
数据访问层
public ArrayList<String> showTable1(String table)throws SQLException {
ArrayList<String> list1 = new ArrayList<String>();
Statement stmt = con.createStatement();
String query1 = "select * from [" +table+"]";
System.out.println(query1);
ResultSet rset = stmt.executeQuery(query1);
ResultSetMetaData rsmd = rset.getMetaData();
while (rset.next()) {
String result = "";
for(int i = 1; i < rsmd.getColumnCount(); i++) {
result += rset.getString(i) + "\t" + "\t";
//
}
list1.add(result);
}
return list1;
}
请帮忙!
亲切的问候,克里斯
答案 0 :(得分:2)
有关简单的一些建议,请参阅Table From Database:
ResultSetTableModel
。TableFromDatabase Example
代码