Изменить значения AutoNumber при вставке строк с помощью UCanAccess
При использовании executeUpdate
Метод UCanAccess, система всегда выбирает номер строки для меня. Однако после того, как я удаляю свои строки и добавляю новые, строки не начинаются с начала (например, я удалил 3 строки, затем он помечает следующие 3 строки как 4
, 5
, а также 6
). Есть ли способ, которым я могу исправить это или назвать строки самостоятельно? Вот мой код:
statement.executeUpdate("INSERT INTO myDB2"+ " ( columnRows, columnA, columnB)"
+ " VALUES ( "+rows+", "+a+", "+b+")");`
1 ответ
Сброс следующего значения AutoNumber
После удаления строк вы можете сбросить начальные значения AutoNumber, открыв базу данных в Access и выполнив операцию "Сжатие и восстановление базы данных". UCanAccess в настоящее время не может сбросить само начальное значение.
Вставка произвольных значений в столбец AutoNumber
Начиная с версии 4.0.2, UCanAccess может вставлять произвольные положительные значения в столбец AutoNumber (Long Integer, Increment). Например, с таблицей с именем [Клиент]:
ClientID - AutoNumber
Имя - Текст (50)
мы можем
Statement st = conn.createStatement();
st.execute("DISABLE AUTOINCREMENT ON Client");
st.execute("INSERT INTO Client (ClientID, FirstName) VALUES (123, 'Gord')");
Для получения более подробной информации см. Сообщение в блоге здесь.
Версия 4.0.3 (еще не выпущенная) расширяет эту возможность, позволяя вставлять произвольные значения, которые меньше или равны нулю.