有一个具有双主键的链接(或ref)表。需要返回从所选表中的当前连接自动生成的最后一个主键。这是在java中。 如果这会产生影响,则数据库位于MS Access中。 对于匆忙的描述感到抱歉,但我们的团队正在紧张地安排工作。
欢迎任何链接或建议。
编辑:
使用SQL填充数据库。我们输入一个表格的数据,但我们不知道自动生成的数字。需要找出这是什么,所以它可以输入到ref表中。我们只知道复合键的一半,这就是我们需要第二个键的原因。
编辑:
到目前为止最好的答案(似乎无法评论)。 我收到以下错误... “线程中的异常”AWT-EventQueue-0“java.lang.UnsupportedOperationException”
任何建议?
答案 0 :(得分:2)
Statement.getGeneratedKeys()可以做到这一点......
答案 1 :(得分:2)
你需要做两件事。首先,在准备语句或执行语句时,您必须传入一个额外的参数。如果您使用预准备语句,请执行以下操作:
stmt = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
如果您没有使用预准备语句,请在调用executeUpdate()时执行以下操作:
stmt.executeUpdate(sql, Statement.RETURN_GENERATED_KEYS);
执行完陈述后,您可以致电
ResultSet rs = stmt.getGeneratedKeys()
这将为您提供包含生成的任何键的结果集。
我没有尝试使用Access的这种方法,但它适用于SQL Server标识列。
答案 2 :(得分:0)
将复合键的两个值放入具有两个元素的Object数组中并返回该值。
或者,将新的复合键放在刚保存的实例中并返回。