在 Jackcess 中对表进行排序

Posted

技术标签:

【中文标题】在 Jackcess 中对表进行排序【英文标题】:Sort a table in Jackcess 【发布时间】:2013-09-13 13:09:24 【问题描述】:

我使用 Jackcess 在 Java 中处理 MS-Access 表:

Database mdb = Database.open(new File(myPath));
Table myTable = mdb.getTable("TableName"); 

有没有办法让表格按一列或多列排序/排序?在文档中找不到任何内容。

感谢任何提示。

【问题讨论】:

【参考方案1】:

如果您使用由索引支持的游标遍历表行,您将获得按相关索引排序的行。

这是一个基于主键顺序迭代表的示例(使用 1.x API):

for(Map<String,Object> row : Cursor.createIndexCursor(table, table.getPrimaryKeyIndex())) 
  // do something with row here...

【讨论】:

谢谢。我修改了您的示例以按其他列(不是主键)排序,如果我之前手动指定索引,它就可以工作!不幸的是,我有数百个文件中的数据,不想手动编辑所有文件。【参考方案2】:

我在这里遇到了同样的问题,但它有帮助。

对于正在使用新版本 Jackcess (v: 2.1.2) 的人来说,答案是:

for (Row row : CursorBuilder.createCursor(table.getIndex("IndexToBeSorted")))

           //Your awesome code with the row here      


谢谢!

【讨论】:

以上是关于在 Jackcess 中对表进行排序的主要内容,如果未能解决你的问题,请参考以下文章

在 asp.net MVC 中对表进行排序

如何在sqlite中对表中的行进行排名?

VBA对表进行排序并忽略总行

尝试在表达式上对表进行排序

是否按时间字段(其中 auto_now_add=True)对表进行排序,相当于按所述表的主键 ID 对表进行排序?

如何在单独的列中添加排序列名称,而不是在下拉列表中选择列来对表进行排序?