Как я могу вернуть последний первичный ключ последнего добавленного элемента в Java? - PullRequest
1 голос
/ 28 мая 2009

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

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

EDIT:

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

Edit:

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

Любой совет?

Ответы [ 3 ]

2 голосов
/ 28 мая 2009

Statement.getGeneratedKeys () должен добиться цели ...

2 голосов
/ 28 мая 2009

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

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

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

stmt.executeUpdate(sql, Statement.RETURN_GENERATED_KEYS);

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

ResultSet rs = stmt.getGeneratedKeys()

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

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

0 голосов
/ 28 мая 2009

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

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

...