Java SELECT @@ Identity在Jackcess中

时间:2019-03-03 20:41:14

标签: java jackcess

我尝试使用Jackcess来获取最后添加的行的ID。在Java或VBA中,我可以使用 选择@@ Identity。在Jackess java中,mi打印此信息:

Column c = table.getPrimaryKeyIndex().getColumns().get(0).getColumn();
System.out.println(c);

我得到以下信息:

Column@3b398b29[
  name: (RatingGeneral) ID
  type: 0x4 (LONG)
  number: 0
  length: 4
  variableLength: false
  lastAutoNumber: 155
]

但是我不知道如何将“ lastAutoNumber”转换为Integer,String或任何使用变量。 Jackess文档和Google没有帮助。

1 个答案:

答案 0 :(得分:2)

Table#addRow的Jackcess文档说:

  

请注意,如果该表具有自动编号列,则生成的值将被放回到给定的行数组中(假设给定的行数组至少与该表中的列数一样长)。

所以

// table has two columns: id (AutoNumber), and lastname (Text(100))
Table tbl = db.getTable("customer");
Object[] newRow = new Object[] {Column.AUTO_NUMBER, "Thompson" };
tbl.addRow(newRow);
int newId = (int) newRow[0];
System.out.printf("New row was assigned AutoNumber value %d%n", newId);

ref:here