Java SELECT @@ Идентичность в Jackcess - PullRequest
0 голосов
/ 03 марта 2019

Я пытаюсь использовать Jackcess, чтобы получить идентификатор последней добавленной строки.В 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 или любого другого использованияvarible.Джексс док и гугл не помогли.

1 Ответ

0 голосов
/ 04 марта 2019

Документация Jackcess для Table # addRow гласит:

Обратите внимание: если в этой таблице есть столбец с автонумерацией, сгенерированное значение будет возвращено в данную строкумассив (при условии, что данный массив строк по крайней мере равен числу столбцов в этой таблице).

Итак,

// 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: здесь

...