Как мне вернуть последний первичный ключ последнего добавленного элемента в java?

StackOverflow https://stackoverflow.com/questions/920225

Вопрос

Имейте таблицу ссылок (или ref), которая имеет двойной первичный ключ.Необходимо вернуть последний первичный ключ, который был автоматически сгенерирован из текущего соединения в выбранной таблице.Это на языке Java.База данных находится в MS Access, если это имеет значение.Извините за поспешное описание, но наша команда работает в сжатые сроки.

Любые ссылки или предложения будут с радостью оценены.

Редактировать:

База данных заполняется с использованием SQL.Мы вводим данные для одной формы, но мы не знаем автоматически сгенерированный номер.Нужно выяснить, что это было, чтобы это можно было занести в таблицу ссылок.Мы знаем только половину составного ключа, вот почему нам нужен второй.

Редактировать:

Это лучший ответ на данный момент (кажется, не могу комментировать).Я получаю следующую ошибку..."Исключение в потоке "AWT-EventQueue-0" java.lang.Исключение UnsupportedOperationException"

Есть какой-нибудь совет?

Это было полезно?

Решение

Вам нужно сделать две вещи.Во-первых, вам нужно будет передать дополнительный параметр при подготовке вашего заявления или выполнении вашего заявления.Если вы используете подготовленные инструкции, выполните следующие действия:

stmt = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);

Если вы не используете подготовленные инструкции, выполните следующие действия при вызове executeUpdate():

stmt.executeUpdate(sql, Statement.RETURN_GENERATED_KEYS);

После того, как вы выполните свое заявление, вы можете вызвать

ResultSet rs = stmt.getGeneratedKeys()

Это даст вам результирующий набор, содержащий любой из сгенерированных ключей.

Я не пробовал этот подход с Access, но он прекрасно работает со столбцами идентификации SQL Server.

Другие советы

Оператор.getGeneratedKeys() должен сделать свое дело...

Поместите оба значения для составного ключа в массив Object с двумя элементами и верните это.

В качестве альтернативы поместите новый составной ключ в экземпляр, который вы только что сохранили, и верните его.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top