如何使用JDBC在MS-Access中将数据插入到具有PK,FK关系的两个表中

时间:2013-03-26 08:42:12

标签: java jdbc

我在MS Access中有两个表Order1(OrderNO是Order1中的PK)和order2(OrderNO是FK in order2),我必须使用JDBC在这两个表中插入数据。所以请任何人告诉我溶胶。我尝试但数据只插入第一个表并给出错误INSERT INTO是错误的

1 个答案:

答案 0 :(得分:0)

您可以使用JDBC 2.0的批量更新功能,以便作为批处理或作为单个单元插入多个表。在这种情况下,您的应用程序将只触及一次底层数据库(在您的情况下为MS访问),因此与逐个插入相比,性能将提高。

您可以在自己的代码中添加以下代码。
或者只是想知道如何实施。

Statement stmt = con.createStatement();
con.setAutoCommit(false);

stmt.addBatch("INSERT INTO Order1 VALUES (OrderNO , ..., ...)");
stmt.addBatch("INSERT INTO Order2 VALUES (OrderNO , ...)");

int [] updateCounts = stmt.executeBatch();

此处AutoCommit()设置为false,因此如果批处理中的任何一个命令无法执行或出现任何其他错误,它将释放您的应用程序以决定是否提交。