Способен ли метод Call to uplback (), только если метод Call to Commit () не удастся?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Способен ли метод Call to uplback (), только если метод Call to Commit () не удастся?

Сообщение Anonymous »

Я новичок в Java JDBC и разработал небольшое приложение базы данных. Я учусь у O'Reilly - Программирование базы данных с JDBC и Java 2 -й издание.con.commit не преуспевает?

Я ожидал, что вызов cons.rollback () оказывает свое влияние, даже если con.commit () преуспевает. Другими словами, используя его в качестве действия "undo" . Так что все в порядке /ожидается? Это ближе к концу до con.close () . Я старался не покинуть его и запустить. Тем не менее, con.rollback () не откатается назад после con.commit () успешно.

import java.sql.*;
import java.util.logging.Level;
import java.util.logging.Logger;

public class UpdateLogic
{

public static void main(String args[])
{
Connection con = null;

try
{
String driver = "com.mysql.jdbc.Driver";
Class.forName(driver).newInstance();
String url = "jdbc:mysql://localhost:3306/Company";
Statement s;
con = DriverManager.getConnection(url, "root", "");
con.setAutoCommit(false); // make sure auto commit is off!
s = con.createStatement();// create the first statement
s.executeUpdate("INSERT INTO employee VALUES ('1', 'employee 1', '22','00-1234' )");

s.close(); // close the first statement
s = con.createStatement(); // create the second statement
s.executeUpdate("INSERT INTO employee VALUES ('2', 'employee 2', '21','00_4321' )");

con.commit(); // commit the two statements
System.out.println("Insert succeeded.");
s.close(); // close the second statement
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException ex)
{
Logger.getLogger(UpdateLogic.class.getName()).log(Level.SEVERE, null, ex);
} catch (SQLException e)
{
if (con != null)
{
try
{
con.rollback();
} // rollback on error
catch (SQLException i)
{
}
}
e.printStackTrace();
} finally
{
if (con != null)
{
try
{
//con.rollback();
con.close();
} catch (SQLException e)
{
e.printStackTrace();
}
}
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/150 ... ethod-does
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»