Java 如何使用Jackcess从查询中检索数据,而不是从表中检索数据
我有一个Access数据库,为了使工作更容易,我对数据库进行了查询。如何从查询中获取数据而不是从表中获取数据 要从表中获取数据,我使用以下代码:Java 如何使用Jackcess从查询中检索数据,而不是从表中检索数据,java,ms-access,jackcess,Java,Ms Access,Jackcess,我有一个Access数据库,为了使工作更容易,我对数据库进行了查询。如何从查询中获取数据而不是从表中获取数据 要从表中获取数据,我使用以下代码: Table table = db.getTable("matchTable"); Cursor cursor = CursorBuilder.createCursor(table); while (cursor.findNextRow(Collections.singletonMap("idMatch", 15))) { Row row
Table table = db.getTable("matchTable");
Cursor cursor = CursorBuilder.createCursor(table);
while (cursor.findNextRow(Collections.singletonMap("idMatch", 15))) {
Row row = cursor.getCurrentRow();
...
}
根据Jackcess常见问题解答(具体来说,): Jackcess可以执行SQL查询吗 自1.1.19版本起,JackAccess能够读取Access数据库中保存的查询(即解释存储在系统查询表中的数据)。但是,Jackcess无法执行这些查询 这意味着Jackcess可以检索与Access中保存的查询关联的SQL代码,但Jackcess无法执行该SQL代码(或返回其结果) 换句话说,如果我们在Access中保存了一个名为[MySavedQuery]的查询,那么JackAccess可以检索包含SQL命令的
字符串,例如
选择*FROM Customers WHERE City='WHERE'
但是Jackcess无法执行该命令来实际返回该查询的结果。另外,Jackcess方法db.getTable()
可以打开一个访问表,但它不能像打开一个表一样打开一个保存的查询
但是,您可以执行保存的Access查询并返回其结果。也就是说,UCanAccess可以做到
从MySavedQuery中选择*
所以在我的情况下我可以,因为查询在Access数据库中,但我应该怎么做?@Shiroga我更新了我的答案,试图让它更清楚:JackAccess无法返回Access保存的查询的结果。UCanAccess也适用于Linux?