[英]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不提交事務?
您尚未向我們顯示SQL語句,因此很難說。 也許您的條件很奇怪,所以數據庫無法更新/插入/刪除任何記錄?
檢查executeUpade()
結果。 如果更改了任何記錄,它應該給您1個或更多
也許數據庫上有TRIGGER阻止了這種操作。 是否可以使用帶有硬編碼值的updateString
從某些SQL編輯器中更改數據庫?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.