我正在编写一个Java应用程序,以表示团队的计划/时间表, 我的数据库中包含3个表:user,post,work
用户
id_user
名称
发布
id_post
post_name
工作
id_operator(FK和主键)
id_post(FK和主键)
日期(主键)
问题是我必须在jTable中显示此代码,我执行了此代码来填充表格,但是它不能那样工作,因为我有10行,但我只希望其中的一行与另一行保持一致。
public void fillRows() throws SQLException{
DefaultTableModel model = new DefaultTableModel();
con = DriverManager.getConnection("jdbc:sqlite:/Users/gate11/Desktop/MyPlanning/MyPlanning/src/myplanning/MaBase.db", "", "");
String sql = "select distinct o.nom_operateur, o.prenom_operateur, t.num_semaine, m.nom_msn from travailler t, msn m, operateur o where t.id_operateur = o.id_operateur and t.id_msn = m.id_msn group by m.id_msn, t.num_semaine, o.id_operateur";
pst = con.prepareStatement(sql);
rs = pst.executeQuery();
model.addColumn("Semaine");
model.addColumn("MSN");
while (rs.next()){
int numSemaine = rs.getInt("num_semaine");
String nom = rs.getString("nom_msn");
String nomOp = rs.getString("nom_operateur");
String prenom = rs.getString("prenom_operateur");
Operator ope = new Operator(nomOp,prenom);
model.addColumn(ope.toString());
//Operator ope = new Operator(nomOp,prenom);
model.addRow(new Object[] {numSemaine,nom} );
//model.addColumn(ope.toString());
}
jTableHistorique.setModel(model);
}
我想要一张这样的桌子
week/operator | Operator 1 | Operator 2 | Operator 3
week 1 post 1 post 2 post 3
week 2
week 3