⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dbtransactiontest.java

📁 JAVA编程百例书中各章节的所有例子的源代码,包括套接字编程
💻 JAVA
字号:
package ch03.section07;

import java.sql.*;

import ch03.section03.*;

public class DBTransactionTest {
  private static Connection connection = null;
  private static ResultSet set = null;
  private static ResultSetMetaData rsmd;
  private static SQLTransaction sT;
  private static String insertStr1 = "insert into tickets ( " +
      "name, " +
      "startaddress, " +
      "endaddress, " +
      "pdate, " +
      "ptime " +
      ") values ( " +
      "'ivana', " +
      "'NY',  " +
      "'BOSTON', " +
      "'11-July-2002', " +
      "'9:00 AM' " +
      ")";
  private static String insertStr2 = "insert into tickets ( " +
      "name, " +
      "startaddress, " +
      "endaddress, " +
      "pdate, " +
      "ptime " +
      ") values ( " +
      "'ivana', " +
      "'BOSTON',  " +
      "'CANCUN', " +
      "'11-July-2002', " +
      "'12:00 PM' " +
      ")";
  private static String insertStr3 = "insert into tickets ( " +
      "name, " +
      "startaddress, " +
      "endaddress, " +
      "pdate, " +
      "ptime " +
      ") values ( " +
      "'ivana', " +
      "'CANCUN',  " +
      "'NY', " +
      "'12-August-2002', " +
      "'2:00 PM' " +
      ")";
  private static String insertStr4 = "insert into tickets ( " +
      "name, " +
      "startaddress, " +
      "endaddress, " +
      "pdate, " +
      "ptime " +
      ") values ( " +
      "'ivana', " +
      "'NY',  " +
      "'BOSTON', " +
      "'12-August-2002', " +
      "'6:00 PM' " +
      ")";
  private static String select =
      "select name,startaddress,endaddress,pdate,ptime from tickets";
  private static String delete = "delete from tickets";
  public static void main(String argv[]) {
    try {
      DBConnectionManager connMgr = DBConnectionManager.getInstance();
      connection = connMgr.getConnection("access");
      sT = new SQLTransaction(connection);

      //开始事务
      sT.executeUpdate(insertStr1);
      sT.executeUpdate(insertStr2);
      sT.executeUpdate(insertStr3);
      sT.executeUpdate(insertStr4);
      //提交事务
      sT.commitTransaction();

      set = sT.executeQuery(select);
      rsmd = set.getMetaData();
      for (int i = 1; i <= rsmd.getColumnCount(); i++) {
        System.out.print(rsmd.getColumnName(i) + "\t");
      }
      System.out.println(
          "\n---------------------------------------------------");

      while (set.next()) {
        String name = set.getString(1);
        String startaddress = set.getString(2);
        String endaddress = set.getString(3);
        String pdate = set.getString(4);
        String ptime = set.getString(5);
        System.out.print(name + "\t");
        System.out.print(startaddress + "\t");
        System.out.print(endaddress + "\t");
        System.out.print(pdate + "\t");
        System.out.print(ptime + "\t" + "\n");
      }
      sT.executeUpdate(delete);
      sT.commitTransaction();
      System.out.println("操作完毕");
    }
    catch (Exception e) {
      System.out.println(e);
      try {
        //如果出现异常或错误,回滚事务
        sT.rollbackTransaction();
      }
      catch (SQLException ex) {
        System.out.println(ex.getMessage());
      }
    }
    finally { // clean up everything
      try {
        sT.close();
      }
      catch (SQLException ex) {
        System.out.println(ex.getMessage());
      }
    }
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -