세 개의 테이블을 결합하는 SELECT 쿼리가 있습니다. MYSQL 테이블을 분리하여 Jtable에 추가하려고합니다. Resultset의 테이블 이름을 어떻게 식별 할 수 있는지 알고 싶습니다.ResultSet에서 MYSQL 테이블 이름 가져 오기
내가 날짜를 정렬하여 다음과 같이 Jtable 설명에 추가 할private void resultLoad(String loadQuery) {
try {
Connection c = DB.myConnection();
Statement s = c.createStatement();
ResultSet r = s.executeQuery(loadQuery);
while (r.next()) {
Vector v = new Vector();
v.addElement(r.getString("sqNum"));
v.addElement(r.getString("RegDate"));
v.addElement(r.getString("JobNo"));
v.addElement(r.getString("DecName"));
v.addElement(r.getString("NoOfLines"));
v.addElement(r.getString("EntryType") + " - " + r.getString("EntrySubType") + " - " + r.getString("EntrySubType2"));
v.addElement(r.getString("Amount"));
v.addElement(r.getString("Status"));
tm.addRow(v);
totalComAmount = totalComAmount + Integer.parseInt(r.getString("Amount"));
}
} catch (Exception e) {
// e.printStackTrace();
JOptionPane.showMessageDialog(this, e, "Error!", JOptionPane.ERROR_MESSAGE);
}
}
resultLoad("SELECT sqNum,RegDate,JobNo,DecName,NoOfLines,EntryType,EntrySubType,EntrySubType2,Amount,Status FROM paysheet WHERE TypeBy='" + cmbStaff.getSelectedItem().toString() + "' AND CommissionStatus='no' UNION SELECT sqNum,RegDate,JobNo,DecName,NoOfLines,EntryType,EntrySubType,EntrySubType2,Amount,Status FROM creditsheet WHERE TypeBy='" + cmbStaff.getSelectedItem().toString() + "' AND CommissionStatus='no' ORDER BY RegDate UNION SELECT sqNumber,date,JobNumber,DecName,noOfLines,type,type,type,CommissionAmount,status FROM newjobsheet WHERE TypeBy='" + cmbStaff.getSelectedItem().toString() + "' AND CommissionStatus='no' ORDER BY RegDate");
. 그러나 세 개의 테이블에는 다른 열이 있습니다.
테이블이없는 입력란에주의하십시오. – Vatev
제 경험상이 방법은 신뢰할 수 없습니다. 예를 들어 http://fixunix.com/weblogic/223501-resultsetmetadata-gettablename-int-column-dont-work.html을보십시오. 최신 MySQL 드라이버가 어떤 상태인지 확신 할 수 없지만, 개인적으로 나는 이것에 의존하지 않을 것입니다. 방법. –
예, 시도했습니다. 하지만 나에게 일하지 않아. – ArMEd