2014-04-05 2 views
2

Java에서 Access 파일을 읽는 데 jackess 2를 사용하고 있습니다. 아래는 코드입니다.예/아니요 열의 행 찾기 jackcess

내가 읽은 표에는 1 행 밖에 없습니다. MS-Access에는 "예/아니오"유형의 "활성"열이 있습니다.

표에서 모든 값을 인쇄 할 때 활성 열의 값은 "true"로 표시됩니다. 그러나 findRow()를 사용하여 행을 쿼리하려고하면 일치하는 것이 없습니다.

"활성"열의 테이블을 어떻게 쿼리 할 수 ​​있습니까?

try { 
    Database db = DatabaseBuilder.open(new File(strDataPath + "DB.mdb")); 
    Table table = db.getTable("03_Test_Cases"); 

    for(Row row : table) { 
     System.out.println("Column 'a' has value: " + row.get("Active")); 
     // RETURNS "true" 
    } 

    Row row = CursorBuilder.findRow(table, Collections.singletonMap("Active", "true")); 

    if(row != null) { 
     System.out.println("Found row : " + row); 
    } else { 
     System.out.println("Could not find row"); // Always hits here only. 
    } 

} catch (IOException e) { 
    e.printStackTrace(); 
} 
+0

보기에서 TRUE TRUE -1, 문자열이 아닙니다. – Fionnuala

답변

1

문자열이 아닌 실제 부울 값으로 검색 값을 지정해야합니다. 이 나를 위해 작동합니다 :

Row row = CursorBuilder.findRow(table, Collections.singletonMap("Active", true)); 
if (row != null) { 
    System.out.println("Found row : " + row); 
} 
else { 
    System.out.println("Could not find row"); 
} 
+0

위대한 .. 전 "사실"로 노력했다. 귀하의 제안에 따라 변경하면 작동합니다. 감사. – Purus