String e=empId.getText();
DefaultTableModel dtm = (DefaultTableModel) jTable1.getModel();
Connection c = DBconnect.connect();
Statement s=c.createStatement();
ResultSet rs=s.executeQuery("SELECT empId, name from employee where empId = '"+e+"')";
while(rs.next()){
Vector v=new Vector();
v.add(rs.getString("empId"));
v.add((rs.getString("name")));
dtm.addRow(v);
}
我做了这个编码,但实际上我不知道这里发生了什么,形成这个我将表员工的搜索结果值添加到我的jTable中这里使用Vector的含义是什么,可以有人给我一个明确的请解释
答案 0 :(得分:2)
DefaultTableModel
的API有一个方法addRow(Vector rowData)
。您正在使用该方法,因此您需要为要添加的每行数据创建一个新的Vector
对象。这就是为什么每次通过while
循环(在您发布的代码中似乎拼错为While
)的原因都会分配一个新的Vector
对象,然后用两个项目填充它排。 API docs解释了addRow
方法的工作原理。请注意,还有addRow(Object[] rowData)
方法,因此您的循环可能是:
while(rs.next()){
Object[] rowData = {
rs.getString("empId"),
rs.getString("name")
};
dtm.addRow(rowData);
}