亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? oracle.java

?? 通過JAVA訪問ORACLE數(shù)據(jù)庫的一系列通用工具
?? JAVA
?? 第 1 頁 / 共 2 頁
字號(hào):
/**
 * <p>Title: 處理數(shù)據(jù)增、刪、改的Java Bean</p>
 * <p>Description: 該類是真正意義的數(shù)據(jù)Bean,只面向數(shù)據(jù),與業(yè)務(wù)無關(guān),也可用于其他項(xiàng)目,可重用度極高!</p>
 * <p>Company: 大連超維計(jì)算機(jī)技術(shù)有限公司</p>
 * @author 崔冠宇
 * @version 1.0
 */
package client.chaowei.intraweb.bean.data;

import javax.servlet.*;
import java.io.*;
import java.sql.*;
import javax.sql.*;
import oracle.sql.BLOB;
import javax.naming.*;
import java.util.*;
import client.chaowei.intraweb.bean.util.RecordLog;

public class Oracle {

  /**
   * 完成數(shù)據(jù)庫的增刪改操作,要求傳入的sql語句必須為insert,update或delete
   * 有返回值,-1表示操作不成功,0表示沒有更新行,正整數(shù)代表更新的行數(shù)
   * @param sql
   */
  public int update(String sql) {
    Connection conn = getConnection();
    Statement  stmt = null;
    int result = 0;
    try {
      stmt = conn.createStatement();
      conn.setAutoCommit(false);
      result = stmt.executeUpdate(sql);
      // 如果是更新和刪除操作,記錄到日志文件
      if ((sql.toLowerCase().trim().startsWith("update")||sql.toLowerCase().trim().startsWith("delete"))) {
        RecordLog.println(sql);
      }
      stmt.close();
      conn.commit();
      conn.setAutoCommit(true);
      conn.close();
      return result;
    } catch(SQLException e1) {
      System.out.println("Oracle.java-->update(String sql) e1:" + e1.getMessage());
      try{
        conn.rollback();
        conn.setAutoCommit(true);
        return -1;
      } catch(SQLException e2) {
        System.out.println("Oracle.java-->update(String sql) e2:" + e2.getMessage());
        return -1;
      }
    } finally {
      this.disconnect(stmt, conn);
    }
  }

  /**
   * 傳入一組sql語句,完成數(shù)據(jù)庫的增刪改操作
   *有返回值,-1表示操作不成功,0表示沒有更新行,正整數(shù)代表更新的行數(shù)
   * 要求傳入的sql語句必須為insert,update或delete。
   * 將這組sql語句做成一個(gè)Transaction
   * @param sqlArr
   */
  public int update(String[] sqlArr) {
    Connection conn = getConnection();
    Statement  stmt = null;
    int result = 0;
    try {
      stmt = conn.createStatement();
      conn.setAutoCommit(false);
      for (int i = 0; i < sqlArr.length; i++) {
        // 如果是更新和刪除操作,記錄到日志文件
        if ( (sqlArr[i].toLowerCase().trim().startsWith("update") ||
              sqlArr[i].toLowerCase().trim().startsWith("delete"))) {
          RecordLog.println(sqlArr[i]);
        }

        result += stmt.executeUpdate(sqlArr[i]);
      }
      stmt.close();
      conn.commit();
      conn.setAutoCommit(true);
      conn.close();
      return result;
    } catch(SQLException e1) {
      System.out.println("Oracle.java-->update(String[] sqlArr) e1:" + e1.getMessage());
      try{
        conn.rollback();
        conn.setAutoCommit(true);
        return -1;
      } catch(SQLException e2) {
        System.out.println("Oracle.java-->update(String[] sqlArr) e2:" + e2.getMessage());
        return -1;
      }
    } finally {
      this.disconnect(stmt, conn);
    }

  }

  /**
   * 更新Blob類型查詢結(jié)果
   * @param sql
   * @param columnName
   * @param sis
   */
  public void updateBlob(String sql, String sqlBlob, String columnName, ServletInputStream sis, int fileSize) {
    Connection conn = null;
    ResultSet rs = null;
    Statement stmt = null;
    BufferedInputStream bis = null;
    BufferedOutputStream bos = null;
    oracle.sql.BLOB content = null;
    try {
      conn = getConnection();
      conn.setAutoCommit(false);
      stmt = conn.createStatement();
      stmt.executeUpdate(sql);
      rs = stmt.executeQuery(sqlBlob);
      while (rs.next()) {
        content = (oracle.sql.BLOB)rs.getBlob(columnName);
      }
      bos = new BufferedOutputStream(content.getBinaryOutputStream());
      bis = new BufferedInputStream(sis);
      byte[] buffer = new byte[ content.getBufferSize() ];
      int bytesRead = 0;
      int hasRead = 0;
      while( ( bytesRead = bis.read( buffer ) ) != -1 ) {
        hasRead += bytesRead;
        if (hasRead > fileSize) {
          bytesRead = bytesRead - (hasRead - fileSize);
        }
        bos.write( buffer, 0, bytesRead );
      }
      bos.flush();
      bos.close();
      conn.commit();
      conn.setAutoCommit(true);
    } catch(Exception e1) {
      System.out.println("Oracle.java-->updateBlob e1:" + e1.getMessage());
      try {
        conn.rollback();
        conn.setAutoCommit(true);
        bos.flush();
        bos.close();
      } catch (Exception e2) {
        System.out.println("Oracle.java-->updateBlob e2:" + e2.getMessage());
      }
    } finally {
      this.disconnect(rs, stmt, conn);
    }
  }

  /**
   * 返回Blob類型查詢結(jié)果
   * @param sql
   * @param columnName
   * @return
   */
  public Blob getBlob(String sql, String columnName) {
    Connection conn = null;
    ResultSet rs = null;
    Statement stmt = null;
    Blob blob = null;
    try {
      conn = getConnection();
      stmt = conn.createStatement();
      rs = stmt.executeQuery(sql);
      while (rs.next()) {
        blob = rs.getBlob(columnName);
      }
    } catch(Exception e) {
      System.out.println("Oracle.java-->getBlob:" + e.getMessage());
    } finally {
      this.disconnect(rs, stmt, conn);
    }
    return blob;
  }

  /**
   * 返回一行一列查詢結(jié)果
   * @param sql
   * @param columnName
   * @return
   */
  public String getSnglRowSnglCol(String sql, String columnName) {
    Connection conn = null;
    ResultSet rs = null;
    Statement stmt = null;
    String str = "";
    try {
      conn = getConnection();
      stmt = conn.createStatement();
      rs = stmt.executeQuery(sql);
      ResultSetMetaData rsmd = rs.getMetaData();
      String colType = rsmd.getColumnTypeName(1);
      while (rs.next()) {
        if (colType.equals("CLOB")) {
          Clob clob = rs.getClob(columnName);
          str = clob.getSubString(1,(int)clob.length());
        } else {
          str = rs.getString(columnName);
        }
      }
    } catch(Exception e) {
      System.out.println("Oracle.java-->getSnglRowSnglCol:" + e.getMessage());
    } finally {
      this.disconnect(rs, stmt, conn);
    }
    return str;
  }

  /**
   * 返回一行多列查詢結(jié)果
   * @param sql
   * @param columnName
   * @return
   */
  public String[] getSnglRowMultiCol(String sql, String[] colArr) {
    Connection conn = null;
    ResultSet rs = null;
    Statement stmt = null;
    Vector v = new Vector();
    String[] colType = new String[colArr.length];
    try {
      conn = getConnection();
      stmt = conn.createStatement();
      rs = stmt.executeQuery(sql);
      ResultSetMetaData rsmd = rs.getMetaData();
      for (int i = 1; i <= rsmd.getColumnCount(); i++) {
        colType[i-1] = rsmd.getColumnTypeName(i);
      }
      while (rs.next()) {
        for (int i = 0; i < colArr.length; i++) {
          if (colType[i].equals("CLOB")) {
            Clob clob = rs.getClob(colArr[i]);
            v.addElement(clob.getSubString(1,(int)clob.length()));
          } else {
            v.addElement(rs.getString(colArr[i]));
          }
        }
      }
    } catch(Exception e) {
      System.out.println("Oracle.java-->getSnglRowMultiCol:" + e.getMessage());
    } finally {
      this.disconnect(rs, stmt, conn);
    }
    return this.cvtVtrToArr(v);
  }

  /**
   * 返回多行一列查詢結(jié)果
   * @param sql
   * @param columnName
   * @return
   */
  public String[] getMultiRowSnglCol(String sql, String columnName) {
    Connection conn = null;
    ResultSet rs = null;
    Statement stmt = null;
    Vector v = new Vector();
    try {
      conn = getConnection();
      stmt = conn.createStatement();
      rs = stmt.executeQuery(sql);
      ResultSetMetaData rsmd = rs.getMetaData();
      String colType = rsmd.getColumnTypeName(1);
      while (rs.next()) {
        if (colType.equals("CLOB")) {
          Clob clob = rs.getClob(columnName);
          v.addElement(clob.getSubString(1,(int)clob.length()));
        } else {
          v.addElement(rs.getString(columnName));
        }
      }
    } catch(Exception e) {
      System.out.println("Oracle.java-->getMultiRowSnglCol:" + e.getMessage());
    } finally {
      this.disconnect(rs, stmt, conn);
    }
    return this.cvtVtrToArr(v);
  }

  /**
   * 返回多行多列查詢結(jié)果
   * @param sql
   * @param colArr
   * @return
   */
  public String[][] getMultiRowMultiCol(String sql, String colArr[]) {
    Connection conn = null;
    ResultSet rs = null;
    Statement stmt = null;
    Vector v = new Vector();
    int colCount = colArr.length;
    String[] colType = new String[colCount];
    try {
      conn = getConnection();
      stmt = conn.createStatement();
      rs = stmt.executeQuery(sql);
      ResultSetMetaData rsmd = rs.getMetaData();

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品专区在线影院观看 | 日韩精品三区四区| 91精品国产全国免费观看| 国产伦理精品不卡| 精品美女一区二区三区| 成人av电影在线网| 丝袜美腿亚洲色图| 国产精品久久久久久久久动漫| 欧美色图片你懂的| 国产高清不卡二三区| 亚洲免费在线播放| 久久久午夜电影| 欧美午夜精品久久久久久孕妇 | 亚洲精选免费视频| 精品国产凹凸成av人网站| 91国产免费观看| 国产成人啪午夜精品网站男同| 亚洲欧美一区二区三区国产精品| 日韩写真欧美这视频| 91麻豆精品在线观看| 精东粉嫩av免费一区二区三区| 一个色在线综合| 国产欧美一区二区精品仙草咪 | 91久久精品午夜一区二区| 激情国产一区二区| 久久精品视频一区二区三区| 宅男在线国产精品| 在线观看中文字幕不卡| 国产精品一二三在| 美日韩一区二区三区| 亚洲自拍偷拍综合| 国产精品视频你懂的| 欧美三级电影网站| 91视视频在线观看入口直接观看www| 另类小说图片综合网| 日本网站在线观看一区二区三区 | 久久电影网电视剧免费观看| 午夜婷婷国产麻豆精品| 亚洲一线二线三线久久久| 中文字幕第一页久久| 欧美videofree性高清杂交| 欧美精品欧美精品系列| 91福利社在线观看| 日本高清免费不卡视频| 99久久婷婷国产综合精品| 国产精品 欧美精品| 国产在线精品视频| 欧美96一区二区免费视频| 天使萌一区二区三区免费观看| 一区二区三区国产豹纹内裤在线| 国产精品福利一区二区三区| 国产蜜臀97一区二区三区| 久久综合久久久久88| 久久亚洲一级片| 国产视频一区在线播放| 亚洲国产精品成人综合 | 亚洲五码中文字幕| 亚洲综合精品自拍| 一个色综合网站| 亚洲国产色一区| 亚洲国产裸拍裸体视频在线观看乱了 | 久久综合久色欧美综合狠狠| 欧美精品一区二区蜜臀亚洲| 久久噜噜亚洲综合| 国产精品网曝门| 亚洲人妖av一区二区| 一区二区三区在线免费观看 | 欧美国产日韩一二三区| 中文字幕亚洲成人| 一区二区三区四区乱视频| 亚洲午夜电影在线| 免费观看在线综合色| 免费高清在线一区| 国产一区二区三区最好精华液| 国产不卡在线播放| 99视频超级精品| 欧美日韩一级二级三级| 91精品午夜视频| 国产亚洲精久久久久久| 亚洲欧美另类小说视频| 亚洲成人av一区二区三区| 亚洲第一搞黄网站| 欧美a一区二区| 国产suv精品一区二区883| 97精品视频在线观看自产线路二| 欧美在线制服丝袜| 精品国产一区二区精华| 国产女人18水真多18精品一级做| 亚洲欧美日韩精品久久久久| 日本美女一区二区三区| 国产成人h网站| 91久久线看在观草草青青| 日韩精品一区二区三区中文不卡| 中文字幕不卡在线观看| 亚洲成人你懂的| 国产中文字幕一区| 91美女片黄在线观看91美女| 欧美一区二区黄色| 国产精品久久久久久久蜜臀| 日韩在线a电影| 成人在线综合网| 欧美亚洲综合久久| 久久精品一区二区三区不卡牛牛 | 一区二区中文视频| 久久99精品久久久久久动态图| 成人免费高清在线| 欧美电影影音先锋| 成人免费在线观看入口| 久久精品国产亚洲一区二区三区 | 免费看欧美美女黄的网站| 不卡一区二区三区四区| 欧美揉bbbbb揉bbbbb| 欧美经典三级视频一区二区三区| 亚洲一区视频在线观看视频| 国产老肥熟一区二区三区| 精品视频一区 二区 三区| 久久久不卡影院| 亚洲午夜一区二区| 成人激情黄色小说| 欧美成人一区二区三区| 亚洲国产成人va在线观看天堂| 蜜乳av一区二区三区| 在线亚洲+欧美+日本专区| 欧美激情一区二区三区不卡| 蜜臀av性久久久久蜜臀av麻豆| 欧美色男人天堂| 亚洲国产精品麻豆| 欧美日韩综合在线| 亚洲一区二区三区四区在线观看 | 色94色欧美sute亚洲13| 亚洲蜜臀av乱码久久精品| 99久久精品国产观看| 亚洲欧洲国产日韩| 色综合色综合色综合| 亚洲综合免费观看高清在线观看| 色狠狠桃花综合| 亚洲网友自拍偷拍| 欧美日韩黄色影视| 日韩精品欧美成人高清一区二区| 欧美日韩免费一区二区三区视频| 亚洲一区二区在线免费看| 欧美日韩精品一区二区天天拍小说| 一区二区三区 在线观看视频| 色系网站成人免费| 亚洲va天堂va国产va久| 欧美一区二区播放| 韩国av一区二区| 中文天堂在线一区| 91在线无精精品入口| 亚洲永久免费av| 欧美一区二区三区在线观看| 久久丁香综合五月国产三级网站| 久久综合色婷婷| va亚洲va日韩不卡在线观看| 亚洲蜜桃精久久久久久久| 欧美区视频在线观看| 精品中文字幕一区二区| 欧美国产精品v| 欧美亚一区二区| 精品一区二区三区在线播放| 国产亚洲视频系列| 色婷婷激情久久| 奇米影视在线99精品| 国产日韩精品一区二区三区| 91日韩精品一区| 日韩—二三区免费观看av| 国产偷v国产偷v亚洲高清| 91久久精品国产91性色tv| 日韩av在线播放中文字幕| 国产视频911| 欧美四级电影网| 国产成人综合视频| 亚洲成人午夜影院| 国产色一区二区| 欧美三级资源在线| 国产精品一区二区黑丝| 亚洲一区二区在线观看视频| 欧美精品一区二区三区在线播放| 97久久超碰精品国产| 免费成人美女在线观看.| 中文字幕综合网| 2021国产精品久久精品| 欧洲一区在线电影| 国产精品综合一区二区| 亚洲福利视频导航| 国产精品美女久久久久av爽李琼| 91麻豆精品国产| 一本到不卡精品视频在线观看| 精品在线亚洲视频| 亚洲午夜影视影院在线观看| 国产欧美精品一区| 日韩欧美一级精品久久| 日本道精品一区二区三区| 国产成人av影院| 日韩av电影天堂| 一区二区欧美精品| 国产精品久久网站| 久久综合九色综合欧美亚洲| 欧美久久久久中文字幕| 99精品欧美一区二区蜜桃免费|