使用 UCanAccess 插入行时更改自动编号值

change AutoNumber values when inserting rows with UCanAccess

在使用UCanAccess的executeUpdate方法时,系统总是为我选择行号。但是,在我删除我的行并添加新行后,这些行不会从头开始(例如,我删除了 3 行,然后它将接下来的 3 行标记为 456).有没有办法解决这个问题或自己命名行?这是我的代码:

statement.executeUpdate("INSERT INTO myDB2"+ " ( columnRows,  columnA, columnB)"
    + " VALUES ( "+rows+", "+a+", "+b+")");`

重置下一个自动编号值

删除行后,您可以通过在 Access 中打开数据库并执行 "Compact and Repair Database" 操作来重置自动编号种子值。 UCanAccess 目前无法自行重置种子值。

将任意值插入自动编号列

从 4.0.2 版开始,UCanAccess 能够将任意正值插入到自动编号(长整型,增量)列中。例如,使用名为 [Client]:

的 table

ClientID - 自动编号
名字 - 文本 (50)

我们可以做到

Statement st = conn.createStatement();
st.execute("DISABLE AUTOINCREMENT ON Client");
st.execute("INSERT INTO Client (ClientID, FirstName) VALUES (123, 'Gord')");

有关详细信息,请参阅博客 post here

版本 4.0.3(尚未发布)扩展了该功能以允许插入小于或等于零的任意值。