아래의 코드에 이상한 문제가 발생했습니다. if else 문없이 실행하면 정상적으로 작동하지만 다른 경우에는 jtable에 결과가 표시되지 않습니다. 내가 여기에 멍청한 뭔가가 있니?Java ResultSet SQL with
try {
Class.forName(dbClass);
Connection con = DriverManager.getConnection (dbUrl,dbUsername, dbPassword);
Statement stmt = con.createStatement();
String userQuery = "SELECT p_id AS 'Patient ID', forename AS 'Forename', surname AS 'Surname', address AS 'Address' FROM Patient WHERE surname LIKE '%"+s+"%'";
ResultSet userResult = stmt.executeQuery(userQuery);
if(!userResult.next())
{
JOptionPane.showMessageDialog(null, "No Results.");
{
else{
ResultSetMetaData rsMetaData =userResult.getMetaData();
DefaultTableModel dtm = new DefaultTableModel();
int cols = rsMetaData.getColumnCount();
Vector colName = new Vector();
Vector dataRows = new Vector();
for (int i=1; i<cols; i++){
colName.addElement(rsMetaData.getColumnName(i));
}
dtm.setColumnIdentifiers(colName);
while(userResult.next()){
dataRows = new Vector();
for(int j = 1; j<cols; j++){
dataRows.addElement(userResult.getString(j));
}
dtm.addRow(dataRows);
}
searchTable.setModel(dtm);
con.close();
}
} //end try
catch(ClassNotFoundException e) {
JOptionPane.showMessageDialog(null, "Database Error.");
e.printStackTrace();
}
catch(SQLException e) {
JOptionPane.showMessageDialog(null, "Database Error.");
e.printStackTrace();
}
GUI 용으로 netbeans를 사용하고 있습니다.
감사합니다.
답장을 보내 주셔서 감사합니다. 여전히 작동하지 않습니다. 여기 방법의 샘플, 어떤 생각이 잘못 됐어? 실제로 열 머리글을 올바르게 표시하지만 셀에는 내용이 없습니다. 분명히 표시 할 내용이 있습니다. if/else 블록이 없으면 제대로 작동합니다. http://pastebin.com/RHYpGEAg – derpyderp
@clear_skies : 내 업데이트 참조. – Thinhbk