JTable无法显示数据库数据
下面是部分代码(数据库已经成功连接上了,数据可以添加进去,但是没办法显示)
try {
String sql = "select * from service";
conn = new JDBC().getConnection();
statement = conn.createStatement();
result = statement.executeQuery(sql);
boolean records = result.next(); //定位到第一条记录
if(!records) {
JOptionPane.showMessageDialog(null,"无保修记录","提示",JOptionPane.INFORMATION_MESSAGE);
return;
}
line = new Vector();
linename = new Vector();
data=result.getMetaData(); //获得result结果集中列属性信息
for(int i = 1 ; i <= data.getColumnCount() ; i++) {
linename.addElement(data.getColumnName(i)); //获得列名
}
do {
Vector linedata = new Vector(); //存放记录
for(int i = 1 ; i <= data.getColumnCount() ; i++) {
linedata.addElement(result.getString(i)); //获取记录
}
} while(result.next()); //利用循环获得所有记录
table = new JTable(line,linename);
table.setBackground(Color.YELLOW);
table.setFillsViewportHeight(true);
Pane = new JScrollPane(table); //创建带有滚动条的面板,并将表格视图加入
Pane.setBounds(0, 291, 481, -284);
getContentPane().add(Pane);
if(result != null) {
result.close();
}
if(statement != null) {
statement.close();
}
if(conn != null) {
conn.close();
}
} catch(Exception se) {
se.printStackTrace();
}