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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? jdbop.java

?? 哈工大CERP系統 java+weblogic實現
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:
/**
 * 數據庫基本操作組件
 * 封裝了記錄的增加、修改、刪除等功能
 * 數據庫連接功能由其他組件完成(cn.com.huiton.ConnectionPool.ConnectionPool)
 *
 * 使用步驟:
 * 1、創建對象;
 * 2、使用 connect() 方法與數據庫建立連接;
 * 3、進行數據庫操作;
 * 4、使用 disConnect() 方法與數據庫斷開連接;
 * 5、銷毀對象。
 *
 * @@author=吳劍、王濤
 */

package com.huiton.pub.dbx;

import java.sql.*;
import java.util.Vector;
import java.util.HashMap;
import java.util.*;

import com.huiton.mainframe.util.tracer.*;

public class JdbOp
{
        public Connection m_conn;
        public JdbObj preDbObj = null;    //預先生成的數據庫操作類
        public String m_errMsg = "";
        public String sessionCode = null;   //當前會話代碼,由數據庫生成
        public Statement m_statement = null;
        Vector stVector = new Vector();     //保存新創立的會話,在finalize中釋放它
        boolean autoCommit = true;
        String cfgFile = "";
        boolean connectDirect = false;;    //直接連接標志,當使用公司、年、子系統方式直接連庫時設置為true

        public static final int DBNAME_SQLSERVER = 0;
        public static final int DBNAME_ORACLE = 0;
        public static final int DBNAME_SYBASE = 0;


        public JdbOp() throws Exception{
          /*connect();*/
          createConnect();  //以缺省參數初始化數據庫對象,wt
        }

        /**
         * Description: 構造函數。使用sessionCode獲取Cerp數據庫連接
         * @param sessionCode:系統登陸時創建的會話唯一標識
         * @param sysCode: 要聯接的系統代碼。如果為空,返回"sam"庫
         */
         public JdbOp(String sessionCode,String sysCode) throws Exception{
          if (!createConnect(sessionCode,sysCode))
            throw (new Exception(m_errMsg));
         }

        /**
         * Description: 構造函數。使用sessionCode獲取Cerp數據庫連接,本函數可以制定一個數據庫連接的配置文件
         * @param sessionCode:系統登陸時創建的會話唯一標識
         * @param sysCode: 要聯接的系統代碼。如果為空,返回"sam"庫
         * @param cfgFile: 配置文件名
         */
         public JdbOp(String sessionCode,String sysCode, String cfgFile) throws Exception{
          if (cfgFile!=null && !cfgFile.equalsIgnoreCase(""))
            this.cfgFile = cfgFile;
          if (!createConnect(sessionCode,sysCode))
            throw (new Exception(m_errMsg));
         }

         /**
          * 按照給定的參數,直接連接數據庫。本方法只用于Cerp
          * @param companyCode  公司代號
          * @param year 年號
          * @param sysCode  子系統代號
          * @param isDirect 保留參數,應總是設置為true
          * @throws Exception 拋出任何錯誤
          */
         public JdbOp(String companyCode, String year, String sysCode,boolean isDirect) throws Exception {
          if (!createConnect(companyCode,year,sysCode))
            throw new Exception("創建數據庫聯接出錯: " + this.m_errMsg);
          connectDirect = true;
         }

        /**
         * 插入一條記錄
         * @return boolean 操作成功返回 TRUE,否則返回 FALSE
         * @param String table 表名
         * @param String[] fields 字段名稱數組
         * @param String[] types 字段類型數組,對于char, varchar類型,對應值是string,其它類型可為任意值
         * @param String[] values 字段明對應的值的數組
         */
        public boolean insert(String table,
                              String[] fields,
                              String[] values) throws SQLException, Exception
        {
              m_errMsg = "";
                        if(fields.length!=values.length)
                                throw new Exception("The numerber of fields and values must be identical.");

                        if(m_conn==null) connect();

                        Statement statement = m_conn.createStatement();

                        String strFields="", strValues="";

                        for(int i=0;i<fields.length;i++) {
                                strFields += fields[i] + ", ";
                                strValues += "'" + values[i] + "', ";
                        }

                        strFields = strFields.substring(0, strFields.length() - 2);
                        strValues = strValues.substring(0, strValues.length() - 2);

                        String mySql = "INSERT INTO " + table + "("
                                + strFields + ") VALUES(" + strValues + ")";

                        // System.out.println(mySql);
                        statement.execute(mySql);

                        return true;
        }


        /**
         * 更新一條記錄
         * @return boolean 操作成功返回 TRUE,否則返回 FALSE
         * @param String criteria 篩選條件
         * @param String table 表名
         * @param String[] fields 字段名稱數組
         * @param String[] types 字段類型數組,對于char, varchar類型,對應值是string,其它類型可為任意值
         * @param String[] values 字段明對應的值的數組
         */
        public boolean update(String table,
                              String criteria,
                              String[] fields,
                              String[] values)
        {     m_errMsg = "";
                try {
                        if(fields.length!=values.length)
                                throw new Exception("The numerber of fields and values must be identical.");

                        if(m_conn==null) connect();

                        Statement statement = m_conn.createStatement();

                        String strFields="";
                        for(int i=0;i<fields.length;i++) {
                                strFields += fields[i] + " = '" + values[i] + "', ";
                        }
                        strFields = strFields.substring(0, strFields.length() - 2);

                        if(criteria.equals("")) criteria = " 1=1 ";
                        System.out.println("UPDATE " + table + " SET " + strFields + " WHERE " + criteria);
                        statement.execute("UPDATE " + table + " SET " + strFields + " WHERE " + criteria);

                        return true;
                }
                catch(Exception e) {
//                        disConnect();
                  m_errMsg =this.getClass().getName() + ".update(): " + e;
                        System.out.println(e.toString());
                        return false;
                }
        }


        /**
         * 刪除一條記錄
         * @return boolean 操作成功返回 TRUE,否則返回 FALSE
         * @param String table 表名
         * @param String criteria 篩選條件
         */
        public boolean delete(String table, String criteria)
        {m_errMsg = "";
                try {
                        if(m_conn==null) connect();
                        Statement statement = m_conn.createStatement();
                        statement.execute("DELETE FROM " + table + " WHERE " + criteria);

                        return true;
                }
                catch(Exception e) {
//                        disConnect();
                        System.out.println(e.toString());
                        return false;
                }
        }


        /**
         * void connect()		與數據庫建立連接
         *
         * 返回值:				void
         *
         * 參數:
         * modify by wt: 2001.7.12. remove 連接池
         */
        public void connect() {
                if(m_conn!=null) return;

                try {
/*
                        ConnectionPool pool = new ConnectionPool();
                        if(pool.getDriver()==null) {
                            pool.setDriver("sun.jdbc.odbc.JdbcOdbcDriver");
                            pool.setURL("jdbc:odbc:EJBTest");
                            pool.setUsername("cerp95");
                            pool.setPassword("ttbq");
                            pool.setSize(5);
                            pool.initializePool();
                        }

                        conn = pool.getConnection();
*/
                  System.out.println("-----in JdbOp:");
                  createConnect();
                }
                catch(Exception e) {
                        disConnect();
            e.printStackTrace();
                }
        }


        /**
         * void disConnect()	斷開數據庫連接
         *
         * 返回值:				void
         *
         * 參數:
         */
        public void disConnect() {
                try {
                        if(m_conn!=null)
                                m_conn.close();
        }
        catch (SQLException e) {
            e.printStackTrace();
        }
    }

  /**
   *Title: 創建表
   *Description 本方法根據給出的參數創建數據表。使用本類中已經創建的連接conn
   *@param tblName 要創建的表名
   *@param FieldDef[] 表的字段定義
   *@return 表創建成功或表已經存在,返回true。否則返回false
   */
  public boolean createTbl(String tblName, FieldDef[] fields) {
     m_errMsg = "";
     String mySql = "Create table " + tblName + " (";

try{
    if (preDbObj == null) {//連接還沒有建立,以缺省方式建立之
      if (!createConnect()){
        m_errMsg = preDbObj.m_errMsg;
        return false;
      }
    }

    //分析建表數據
    if (tblName==null || tblName.length()==0) {
      m_errMsg = "要創建的表名非法:" + tblName;
      return false;
    }

    if (preDbObj.hasTable(tblName))
      return true;  //已經有該表,直接返回

    if (fields.length==0) {
      m_errMsg = "沒有字段定義";
      return false;
    }

    //創建表
    int fCounter;
    m_errMsg = "";
    String keyStr = "";   //鍵值
    //循環添加要創建的字段
    for (fCounter = 0; fCounter < fields.length; fCounter++){
      if (fCounter > 0)
        mySql += ",";     //拼下一句前加分隔符
      mySql += fields[fCounter].colName + " ";
      mySql += fields[fCounter].colType;
      if (fields[fCounter].colDft!=null &&  fields[fCounter].colDft.length() > 0)
        mySql += " default " + fields[fCounter].colDft;         //有缺省值
      else if (!fields[fCounter].nullable)    //不允許為空
        mySql += " not null";
      //添加鍵值
      if (fields[fCounter].isPriKey) {
        if (keyStr.length() == 0)
          keyStr = ", primary key(" + fields[fCounter].colName;
        else
          keyStr += "," + fields[fCounter].colName;
      }
    }
    //完成語句
    if (keyStr.length() > 0)
      {//有鍵值定義
       keyStr += ")";
       mySql += keyStr + ")";
      }

    //執行語句
    Statement statement = preDbObj.conn.createStatement();
//System.out.println(mySql);
    statement.execute(mySql);

    return true;
}catch (Exception e) {
  m_errMsg = e.getMessage() + "--\n" + mySql;
  System.out.println(m_errMsg);
  return false;
}

  }

  /**
   * Title: 創建索引
   * Description: 本功能在當前連接的數據庫中創建表的索引
   * @param idxName 索引名
   * @param tblName 表名
   * @param isUnique 是否為唯一索引
   * @param fields 索引字段定義
   * @return 索引創建成功或索引已經存在,返回true。否則返回false
   */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
丰满白嫩尤物一区二区| 一本一道综合狠狠老| 亚洲日本乱码在线观看| 欧美久久高跟鞋激| 99久久综合狠狠综合久久| 美女一区二区在线观看| 亚洲欧美在线视频| 欧美成人免费网站| 欧洲国产伦久久久久久久| 国产精品一区在线| 裸体健美xxxx欧美裸体表演| 亚洲精品五月天| 久久久www成人免费无遮挡大片| 欧美在线视频你懂得| 成人一区二区三区视频在线观看 | 亚洲综合在线视频| 国产亚洲自拍一区| 日韩亚洲欧美综合| 欧美精品v国产精品v日韩精品| 99精品欧美一区二区蜜桃免费| 国产乱码精品1区2区3区| 日韩av一区二区三区| 一区二区三区在线高清| 国产精品国产成人国产三级| 久久影院电视剧免费观看| 欧美一区二区大片| 8x8x8国产精品| 欧美精品一二三区| 精品视频1区2区3区| 色香蕉成人二区免费| av激情综合网| yourporn久久国产精品| 岛国精品一区二区| 成人国产视频在线观看| 国产91对白在线观看九色| 国产精品66部| 国产精一区二区三区| 国产在线精品免费| 国产一区二区三区黄视频 | 久久久不卡影院| 久久天天做天天爱综合色| 精品国产乱码久久久久久牛牛| 欧美一区二区免费观在线| 在线播放一区二区三区| 欧美一区二区三区视频| 91精品国产品国语在线不卡| 4438x亚洲最大成人网| 欧美精品高清视频| 欧美成人vr18sexvr| 欧美成人性战久久| 中文字幕的久久| 日韩一区在线看| 亚洲国产欧美在线| 日韩高清一区二区| 国产精品正在播放| 99在线精品视频| 在线一区二区三区四区| 欧美美女网站色| 日韩精品一区二区三区视频 | 色哟哟精品一区| 欧美日韩一区二区三区四区五区| 91麻豆精品国产无毒不卡在线观看| 欧美一区二区在线免费播放 | 欧美激情一区二区三区四区| 国产精品理伦片| 一区二区三区日韩精品视频| 视频一区视频二区中文| 国产又粗又猛又爽又黄91精品| 国产69精品久久777的优势| 一本到不卡免费一区二区| 777精品伊人久久久久大香线蕉| 日韩精品一区国产麻豆| 国产三级欧美三级| 一区二区高清在线| 精品一区二区国语对白| www.亚洲在线| 5858s免费视频成人| 中日韩免费视频中文字幕| 亚洲在线免费播放| 激情亚洲综合在线| 色婷婷精品久久二区二区蜜臀av| 欧美大片在线观看一区二区| 一区在线观看视频| 蜜桃久久久久久| 99久久777色| 日韩精品资源二区在线| 日韩一区在线播放| 九九九久久久精品| 欧美三级日本三级少妇99| 久久中文字幕电影| 午夜免费欧美电影| 成人爽a毛片一区二区免费| 欧美日韩国产123区| 日本一区二区三区dvd视频在线| 亚洲国产精品欧美一二99| 国产精品夜夜爽| 欧美二区三区91| 亚洲欧美激情视频在线观看一区二区三区 | 欧美一区二区三级| 亚洲欧美另类综合偷拍| 国产精品99久| 欧美大黄免费观看| 亚洲国产日韩av| 99re免费视频精品全部| 亚洲精品一区二区三区精华液| 亚洲自拍偷拍九九九| 成人午夜精品在线| 精品国产一区二区三区不卡| 亚洲国产欧美另类丝袜| 99久久精品99国产精品| 国产三级精品三级在线专区| 日韩不卡一二三区| 欧美性感一类影片在线播放| 国产精品久久777777| 激情另类小说区图片区视频区| 欧美日韩一区二区不卡| 中文字幕视频一区| 成人网在线播放| 国产网站一区二区| 国产精品一区二区你懂的| 欧美不卡一区二区三区| 日韩不卡在线观看日韩不卡视频| 欧美四级电影网| 亚洲黄色尤物视频| 91浏览器在线视频| 亚洲丝袜精品丝袜在线| 国产大陆精品国产| 精品国产乱码久久久久久免费 | 久久人人爽爽爽人久久久| 日本欧美肥老太交大片| 69成人精品免费视频| 偷拍一区二区三区四区| 欧美羞羞免费网站| 亚洲图片一区二区| 欧美日韩国产bt| 首页亚洲欧美制服丝腿| 欧美另类久久久品| 午夜亚洲国产au精品一区二区| 欧美亚洲国产一区二区三区| 亚洲第一精品在线| 欧美亚洲一区二区在线| 日日噜噜夜夜狠狠视频欧美人| 欧美精选在线播放| 日韩福利视频导航| 精品日产卡一卡二卡麻豆| 九九在线精品视频| 久久久99久久精品欧美| 成人做爰69片免费看网站| 国产精品麻豆99久久久久久| 99麻豆久久久国产精品免费优播| 中文字幕亚洲一区二区av在线| 97国产精品videossex| 亚洲另类色综合网站| 在线观看三级视频欧美| 亚洲成在人线免费| 日韩精品一区二区三区在线观看| 国产乱对白刺激视频不卡| 亚洲国产精品成人久久综合一区| 92国产精品观看| 亚洲国产欧美另类丝袜| 欧美zozo另类异族| 成人av高清在线| 亚洲成人在线网站| 2023国产精品视频| 成人福利电影精品一区二区在线观看| 综合久久国产九一剧情麻豆| 欧洲精品一区二区三区在线观看| 免费看日韩精品| 久久久无码精品亚洲日韩按摩| 成人毛片视频在线观看| 亚洲伊人伊色伊影伊综合网| 欧美xxxx老人做受| av电影一区二区| 日韩中文字幕麻豆| 日本一区二区高清| 欧美日本国产视频| 国产精品456| 午夜成人免费电影| 久久久精品人体av艺术| 欧美亚洲图片小说| 国产精品原创巨作av| 亚洲国产成人av| 久久精品在线观看| 欧美色综合久久| 国产成人亚洲综合a∨婷婷| 一区二区在线免费| 亚洲精品一区二区三区影院| 欧美中文一区二区三区| 激情久久久久久久久久久久久久久久| 亚洲欧美日韩在线| 久久久精品国产免费观看同学| 欧美午夜精品久久久久久超碰| 国产在线麻豆精品观看| 亚洲成人av一区| 中文字幕一区二区三区蜜月| 日韩精品在线一区二区| 在线看国产一区二区| 丁香六月综合激情| 美女诱惑一区二区| 午夜视频在线观看一区|