2013-12-09 2 views
-1

이 코드가 있습니다. 결과는 다음과 같습니다.자바 MySQL을 반환 한 행은

SELECT * FROM tasks WHERE uid = 4 ORDER BY title ASC 
[email protected] 

왜 이런 일이 발생하는지 알고 싶습니다.

+0

수동으로 실행하는 동안 얻은 결과의 수는 얼마입니까? 데이터를 붙여 넣으면 감사하겠습니다. – Satya

+0

일반적으로 uid는 고유하게 유지됩니다. – SpringLearner

+0

@JqueryLearner 문제는 모든 행을 반환하지 않는다는 것입니다. – Sherlock

답변

0

아래 코드를 약간 개선하면 문제를 신속하게 파악하는 데 도움이 될 수 있습니다.

int rowCount = 0; 

try { 
    Integer user = InformationService.authenticate(username, password, connection); 
    Statement st = connection.createStatement(); 
    String query = "SELECT * FROM tasks WHERE uid = " + user + " ORDER BY title ASC"; 
    System.out.println(query); 
    ResultSet rs = st.executeQuery(query); 

    while (rs.next()) { 
     Task p = new Task(rs.getString("title"), rs.getInt("id"), rs.getString("descriere"), 
      rs.getString("data"), rs.getInt("uid"), rs.getString("data_creare"), rs.getString("ora"), 
      rs.getInt("status"), rs.getString("priority"), rs.getInt("sters"), rs.getInt("id_parinte"), 
      rs.getInt("notify"), rs.getString("assigner"), rs.getInt("durata"), rs.getInt("project_id")); 

     rowCount++; 
     System.out.println(rowCount + "." + p); 
     tasks.add(p); 
    } 
} finally { 
    System.out.println("Number of records = " + rowCount); 
} 

이 접근법에서는 반복 된 행 수를 명확하게 식별 할 수 있습니다.

+0

. 사실 이것은 내가 잡는 곳에서 e.printStackTrace()를 인쇄하지 않는다는 것을 알게 해주었습니다. :) – Sherlock