查找带有“是/否”列的行 在顶点中键入



我正在使用jackess 2来读取Java中的访问文件。下面是代码。

在我阅读的表格中,我只有 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();
}

您需要将搜索值指定为实际布尔值,而不是字符串。这对我有用:

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");
}

相关内容

  • 没有找到相关文章

最新更新