hỏi về master detail

nguyen minh

New Member
9/8/16
3
1
0
29
mình đang học về khai báo 2 bảng nhưng không xuất ra bảng 2 khi dùng mouseclicked được. ace nào có chút thời gian check qua code họ mình

public void setTable(String keyword){
Vector col = new Vector();
Vector row = new Vector();
DefaultTableModel model = new DefaultTableModel(row,col);
String sql = "SELECT * FROM PoList where Po like '%" + keyword + "%' " ;
try {
stmt = con.prepareStatement(sql);
rs = stmt.executeQuery();
while(rs.next()){
Vector temp = new Vector();
temp.add(rs.getString(1));
temp.add(rs.getString(2));
temp.add(rs.getString(3));
temp.add(rs.getString(4));
temp.add(rs.getString(5));
temp.add(rs.getString(6));
row.add(temp);
}
ResultSetMetaData meta = rs.getMetaData();
for(int i =0;i<meta.getColumnCount();i++){
col.add(meta.getColumnName(i+1));
}

// con.close();

} catch (Exception e){
System.out.println("loi " + e);
}

tblUser5.setModel(model);
}


public void setTableDetail(String ProductID){
Vector col = new Vector();
Vector row = new Vector();
DefaultTableModel model = new DefaultTableModel(row,col);
String sqlde = "select * FROM ProductList where Po = " + ProductID ;
try {
stmt = con.prepareStatement(sqlde);
rs2 = stmt.executeQuery();
while(rs2.next()){
Vector tempo = new Vector();
tempo.add(rs2.getString(1));
tempo.add(rs2.getString(2));
tempo.add(rs2.getString(3));
tempo.add(rs2.getString(4));
tempo.add(rs2.getString(5));
tempo.add(rs2.getString(6));
tempo.add(rs2.getString(7));
tempo.add(rs2.getString(8));
row.add(tempo);
}
ResultSetMetaData meta = rs2.getMetaData();
for(int i =0;i<meta.getColumnCount();i++){
col.add(meta.getColumnName(i+1));
}

// con.close();

} catch (Exception e){
System.out.println("loi tblUser4 " + e);
}

tblUser4.setModel(model);
}


mouseClicked
private void tblUser5MouseClicked(java.awt.event.MouseEvent evt) {
setTableDetail(tblUser5.getValueAt(tblUser5.getSelectedRow(),0).toString());
}

xuất giá trị trong bảng TableDetail
 

nguyen minh

New Member
9/8/16
3
1
0
29
đoạn code đó thì không có báo lỗi a ơi. xuất ra màn hình được row name của tblUser4 nhưng không get dữ liệu được cho bảng tblUser4 khi click vào dòng của tblUser5
 

JackV

Administrator
Staff member
Tự debug nhé, nhiều vấn đề nên k biết đường nào!

Sau dòng
Code:
String sql = "SELECT * FROM PoList where Po like '%" + keyword + "%' " ;
thêm
Code:
System.out.println(sql);
Lấy dòng in câu sql đó đưa vào sql chạy thử.
vì nếu lần đầu tiên chạy được thì lần thứ 2 vân đề ở dữ liệu.
 

nguyen minh

New Member
9/8/16
3
1
0
29
mình xử lý xong rồi
mouseClicked
private void tblUser5MouseClicked(java.awt.event.MouseEvent evt) {
setTableDetail(tblUser5.getValueAt(tblUser5.getSelectedRow(),0).toString());
}

thay giá trị 0 trong setTableDetail = 1 là xong
setTableDetail(tblUser5.getValueAt(tblUser5.getSelectedRow(),0).toString());
 
  • Like
Reactions: JackV