0

假设我有以下 Java 代码片段(类似的东西嵌入到旧版应用程序中)

...
try {
    con.setAutoCommit(false);
    updateSales = con.prepareStatement(updateString);
    updateTotal = con.prepareStatement(updateStatement);

    updateSales.setInt(1, e.getValue().intValue());
    updateSales.setString(2, e.getKey());
    updateSales.executeUpdate();
    updateTotal.setInt(1, e.getValue().intValue());
    updateTotal.setString(2, e.getKey());
    updateTotal.executeUpdate();
    con.commit();
} catch (SQLException e ) {
...

假设这是连接到 SQL Server 2005 数据库(使用 ms 2005 驱动程序) - 是否有任何理由 con.commit 不会提交事务?

4

1 回答 1

1
  1. 您没有向我们展示 SQL 语句,所以很难说。也许您的情况很奇怪,因此数据库无法更新/插入/删除任何记录?

  2. 的检查结果executeUpade()。如果任何记录被更改,它应该给你 1 或更多

  3. 也许数据库上有 TRIGGER 阻止了这种操作。updateString是否可以使用硬编码值从某些 SQL 编辑器更改数据库?

于 2012-08-17T11:21:35.747 回答