import java.sql.*;
public class Zm
{
public static void main(String args[])
{
Connection con=null;
Statement sql;
ResultSet rs;
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e)
{
System.out.println(""+e);
}
try
{
double n = 1;
con=DriverManager.getConnection("jdbc:odbc:18","","");
con.setAutoCommit(false);
sql=con.createStatement();
rs=sql.executeQuery("SELECT* FROM shop WHERE number='A001'");
rs.next();
double priceOne=rs.getDouble("price");
System.out.println("事务操作之前的A001的PRICE:"+priceOne);
rs=sql.executeQuery("SELECT* FROM shop WHERE number='B002'");
rs.next();
double priceTwo=rs.getDouble("price");
System.out.println("事务操作之前的B002的PRICE:"+priceTwo);
priceOne=priceOne-n;
priceTwo=priceTwo+n;
sql.executeUpdate("UPDATE shop SET price="+priceOne+"WHERE number='A001'");
sql.executeUpdate("UPDATE shop SET price="+priceTwo+"WHERE number='B002'");
con.commit();
con.setAutoCommit(true);
rs=sql.executeQuery("SELECT* FROM shop WHERE number='A001'");
rs.next();
priceOne=rs.getDouble("price");
System.out.println("事务操作之后的A001的PRICE:"+priceOne);
rs=sql.executeQuery("SELECT* FROM shop WHERE number='B002'");
rs.next();
priceTwo=rs.getDouble("price");
System.out.println("事务操作之后的B002的PRICE:"+priceTwo);
con.close();
}
catch(SQLException e)
{
try
{
con.rollback();
}
catch(SQLException exp){}
System.out.println(e);
}
}
}