当前位置: 代码迷 >> java >> Java SELECT @@ Identity在Jackcess中
  详细解决方案

Java SELECT @@ Identity在Jackcess中

热度:75   发布时间:2023-07-25 20:05:31.0

我尝试使用Jackcess来获取最后添加的行的ID。 在Java或VBA中,我可以使用SELECT @@ 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 Doc和Google没有帮助。

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

参考:

  相关解决方案