簡體   English   中英

Java事務-在conn上提交

[英]Java transaction - commit on conn doesn't

假設我有以下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不提交事務?

  1. 您尚未向我們顯示SQL語句,因此很難說。 也許您的條件很奇怪,所以數據庫無法更新/插入/刪除任何記錄?

  2. 檢查executeUpade()結果。 如果更改了任何記錄,它應該給您1個或更多

  3. 也許數據庫上有TRIGGER阻止了這種操作。 是否可以使用帶有硬編碼值的updateString從某些SQL編輯器中更改數據庫?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM