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

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

?? attributemanager.java

?? 我的文件是一個數據添加頁面
?? JAVA
字號:
package kmd.gxml;


import java.util.ArrayList;
import java.sql.Connection;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;

import kmd.Debug;
import kmd.commo.SequenceProducer;
import kmd.jdbc.DBConnection;





/**
 * 針對對象類型的屬性進行管理的類
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2007</p>
 * <p>Company: 重慶科美達電腦有限公司</p>
 * @author not attributable
 * @version 1.0
 */
public class AttributeManager {
  /**
   * 默認構造符
   */
  public AttributeManager() {}


  /**
   * 新增屬性信息,屬性編號、所屬對象類型的編號,屬性名稱為必填項,并且對象類型的編號所指的對象類型必須是存在的
   * @param info AttributeInfo 屬性信息對象
   * @throws Exception 當保存失敗的時候拋出此異常
   */
  public void addAttribute(AttributeInfo info) throws Exception {
    Connection cn = null;
    PreparedStatement ps = null;
    ResultSet rs = null;
    try {
      cn = DBConnection.getConnection();
      addAttribute(info, cn);
    } catch (Exception ex) {
      if (Debug.isJavaBeanDebug) {
        ex.printStackTrace();
      }
      throw ex;
    } finally {
      if (rs != null) {try {rs.close();
      rs = null;
      } catch (Exception e) {}
      }
      if (ps != null) {try {ps.close();
      ps = null;
      } catch (Exception e) {}
      }
      if (cn != null) {try {cn.close();
      cn = null;
      } catch (Exception e) {}
      }
    }
  }


  /**
   * 新增屬性信息,屬性編號、所屬對象類型的編號,屬性名稱為必填項,并且對象類型的編號所指的對象類型必須是存在的
   * 此方法將有可能參與一個事務
   * @param info AttributeInfo 屬性信息對象
   * @param conn Connection 數據庫連接
   * @throws Exception 當保存失敗的時候拋出此異常
   */
  public void addAttribute(AttributeInfo info, Connection conn) throws
      Exception {
    Connection cn = null;
    PreparedStatement ps = null;
    try {
      cn = conn;
      ps = cn.prepareStatement(
          "INSERT INTO DataAttribute(AId, TId, Name, AttributeType)"
          + " VALUES(?,?,?,?)");
      ps.setLong(1, SequenceProducer.getId());
      ps.setLong(2, info.getTid());
      ps.setString(3, info.getName());
      ps.setString(4, info.getType());
      int state = ps.executeUpdate();
      if (state <= 0) {
        throw new Exception("未能成功新增屬性信息。");
      }
    } catch (Exception ex) {
      if (Debug.isJavaBeanDebug) {
        ex.printStackTrace();
      }
      throw ex;
    } finally {
      if (ps != null) {try {ps.close();
      ps = null;
      } catch (Exception e) {}
      }
    }
  }


  /**
   * 修改屬性信息,這里可能修改的信息只能是屬性的名稱
   * @param info AttributeInfo 屬性信息
   * @throws Exception 當修改失敗的時候拋出此異常
   */
  public void modifyAttribute(AttributeInfo info) throws Exception {
    Connection cn = null;
    PreparedStatement ps = null;
    ResultSet rs = null;
    try {
      cn = DBConnection.getConnection();
      modifyAttribute(info, cn);
    } catch (Exception ex) {
      if (Debug.isJavaBeanDebug) {
        ex.printStackTrace();
      }
      throw ex;
    } finally {
      if (rs != null) {try {rs.close();
      rs = null;
      } catch (Exception e) {}
      }
      if (ps != null) {try {ps.close();
      ps = null;
      } catch (Exception e) {}
      }
      if (cn != null) {try {cn.close();
      cn = null;
      } catch (Exception e) {}
      }
    }
  }


  /**
   * 修改屬性信息,這里可能修改的信息只能是屬性的名稱
   * 此方法可能會參予一個事務
   * @param info AttributeInfo 屬性信息
   * @param conn Connection 數據庫連接
   * @throws Exception 當修改失敗的時候拋出此異常
   */
  public void modifyAttribute(AttributeInfo info, Connection conn) throws
      Exception {
    Connection cn = null;
    PreparedStatement ps = null;
    try {
      cn = conn;
      ps = cn.prepareStatement(
          "UPDATE DataAttribute SET Name = ? WHERE AId = ?");
      ps.setString(1, info.getName());
      ps.setLong(2, info.getAid());
      int state = ps.executeUpdate();
      if (state <= 0) {
        throw new Exception("未能成功修改屬性信息。");
      }
    } catch (Exception ex) {
      if (Debug.isJavaBeanDebug) {
        ex.printStackTrace();
      }
      throw ex;
    } finally {
      if (ps != null) {try {ps.close();
      ps = null;
      } catch (Exception e) {}
      }
    }
  }


  /**
   * 刪除某一屬性信息,以及所有數據對象中包含的此項屬性信息
   * @param aid long 屬性編號
   * @return int 被刪除的屬性數量
   * @throws Exception 當刪除失敗時拋出此異常
   */
  public int deleteAttribute(long aid) throws Exception {
    Connection cn = null;
    PreparedStatement ps = null;
    ResultSet rs = null;
    int deleteNum = 0;
    try {
      cn = DBConnection.getConnection();
      cn.setAutoCommit(false);
      deleteNum = deleteAttribute(aid, cn);
      cn.commit();
      cn.setAutoCommit(true);
    } catch (Exception ex) {
      if (Debug.isJavaBeanDebug) {
        ex.printStackTrace();
      }
      try {
        if (cn != null && !cn.getAutoCommit()) {
          cn.rollback();
          cn.setAutoCommit(true);
        }
      } catch (Exception e) {}
      throw ex;
    } finally {
      if (rs != null) {try {rs.close();
      rs = null;
      } catch (Exception e) {}
      }
      if (ps != null) {try {ps.close();
      ps = null;
      } catch (Exception e) {}
      }
      if (cn != null) {try {cn.close();
      cn = null;
      } catch (Exception e) {}
      }
    }
    return deleteNum;
  }


  /**
   * 刪除某一部分屬性信息,以及所有數據對象中包含的這些屬性信息
   * @param aid[] long 屬性信息的編號列表
   * @return int 被刪除的屬性數量
   * @throws Exception 當刪除失敗時拋出此異常
   */
  public int deleteAttribute(long aid[]) throws Exception {
    Connection cn = null;
    PreparedStatement ps = null;
    ResultSet rs = null;
    int deleteNum = 0;
    try {
      cn = DBConnection.getConnection();
      cn.setAutoCommit(false);
      for (int i = 0; i < aid.length; i++) {
        deleteNum = deleteNum + deleteAttribute(aid[i], cn);
      }
      cn.commit();
      cn.setAutoCommit(true);
    } catch (Exception ex) {
      if (Debug.isJavaBeanDebug) {
        ex.printStackTrace();
      }
      try {
        if (cn != null && !cn.getAutoCommit()) {
          cn.rollback();
          cn.setAutoCommit(true);
        }

      } catch (Exception e) {}
      throw ex;
    } finally {
      if (rs != null) {try {rs.close();
      rs = null;
      } catch (Exception e) {}
      }
      if (ps != null) {try {ps.close();
      ps = null;
      } catch (Exception e) {}
      }
      if (cn != null) {try {cn.close();
      cn = null;
      } catch (Exception e) {}
      }
    }
    return deleteNum;
  }


  /**
   * 刪除某一屬性信息,以及所有數據對象中包含的此項屬性信息
   * 此方法將有可能參與一個事務
   * @param aid long 屬性編號
   * @param conn Connection 數據庫連接
   * @return int 被刪除的屬性數量
   * @throws Exception 當刪除失敗時拋出此異常
   */
  public int deleteAttribute(long aid, Connection conn) throws Exception {
    Connection cn = null;
    PreparedStatement ps = null;
    int deleteNum = 0;
    try {
      cn = conn;
      ps = cn.prepareStatement("DELETE FROM DataAttribute WHERE AId = ?");
      ps.setLong(1, aid);
      deleteNum = ps.executeUpdate();
      ps.close();
      ps = null;
      ps = cn.prepareStatement("DELETE FROM CharAttribute WHERE AId = ?");
      ps.setLong(1, aid);
      ps.executeUpdate();
      ps.close();
      ps = null;
      ps = cn.prepareStatement("DELETE FROM DoubleAttribute WHERE AId = ?");
      ps.setLong(1, aid);
      ps.executeUpdate();
      ps.close();
      ps = null;
      ps = cn.prepareStatement("DELETE FROM IntegerAttribute WHERE AId = ?");
      ps.setLong(1, aid);
      ps.executeUpdate();
      ps.close();
      ps = null;
      ps = cn.prepareStatement("DELETE FROM BooleanAttribute WHERE AId = ?");
      ps.setLong(1, aid);
      ps.executeUpdate();
      ps.close();
      ps = null;
      ps = cn.prepareStatement("DELETE FROM ClobAttribute WHERE AId = ?");
      ps.setLong(1, aid);
      ps.executeUpdate();
      ps.close();
      ps = null;
    } catch (Exception ex) {
      if (Debug.isJavaBeanDebug) {
        ex.printStackTrace();
      }
      throw ex;
    } finally {
      if (ps != null) {try {ps.close();
      ps = null;
      } catch (Exception e) {}
      }
    }
    return deleteNum;
  }


  /**
   * 得到某一屬性信息
   * @param aid long 屬性編號
   * @return AttributeInfo 屬性信息,當出現錯誤或未找到數據時返回空對象
   */
  public AttributeInfo getAttributeInfo(long aid) {
    Connection cn = null;
    PreparedStatement ps = null;
    ResultSet rs = null;
    AttributeInfo info = null;
    try {
      cn = DBConnection.getConnection();
      ps = cn.prepareStatement("SELECT * FROM DataAttribute WHERE AId = ?");
      ps.setLong(1, aid);
      rs = ps.executeQuery();
      if (rs.next()) {
        info = getInfo(rs);
      }
    } catch (Exception ex) {
      if (Debug.isJavaBeanDebug) {
        ex.printStackTrace();
      }
      info = null;
    } finally {
      if (rs != null) {try {rs.close();
      rs = null;
      } catch (Exception e) {}
      }
      if (ps != null) {try {ps.close();
      ps = null;
      } catch (Exception e) {}
      }
      if (cn != null) {try {cn.close();
      cn = null;
      } catch (Exception e) {}
      }
    }
    return info;
  }


  /**
   * 得到某一對象類型的所有屬性列表
   * @param tid long  對象類型的編號
   * @return ArrayList 當出現錯誤或未找到數據時返回一個長度為0的ArrayList
   */
  public ArrayList getAttributeList(long tid) {
    Connection cn = null;
    PreparedStatement ps = null;
    ResultSet rs = null;
    ArrayList infoList = new ArrayList();
    try {
      cn = DBConnection.getConnection();
      ps = cn.prepareStatement("SELECT * FROM DataAttribute WHERE TId = ?");
      ps.setLong(1, tid);
      rs = ps.executeQuery();
      while (rs.next()) {
        infoList.add(getInfo(rs));
      }
    } catch (Exception ex) {
      if (Debug.isJavaBeanDebug) {
        ex.printStackTrace();
      }
      infoList.clear();
    } finally {
      if (rs != null) {try {rs.close();
      rs = null;
      } catch (Exception e) {}
      }
      if (ps != null) {try {ps.close();
      ps = null;
      } catch (Exception e) {}
      }
      if (cn != null) {try {cn.close();
      cn = null;
      } catch (Exception e) {}
      }
    }
    return infoList;
  }


  /**
   * 得到某一數據類型下的所有屬性的編號
   * @param tid long 類型編號
   * @return long[]
   */
  public ArrayList getAids(long tid) {
    Connection cn = null;
    PreparedStatement ps = null;
    ResultSet rs = null;
    ArrayList aids = new ArrayList();
    try {
      cn = DBConnection.getConnection();
      ps = cn.prepareStatement("SELECT Aid FROM DataAttribute WHERE Tid = ?");
      ps.setLong(1, tid);
      rs = ps.executeQuery();
      while (rs.next()) {
        aids.add(rs.getString("Aid"));
      }
    } catch (Exception ex) {
      if (Debug.isJavaBeanDebug) {
        ex.printStackTrace();
      }
      aids.clear();
    } finally {
      if (rs != null) {try {rs.close();
      rs = null;
      } catch (Exception e) {}
      }
      if (ps != null) {try {ps.close();
      ps = null;
      } catch (Exception e) {}
      }
      if (cn != null) {try {cn.close();
      cn = null;
      } catch (Exception e) {}
      }
    }
    return aids;
  }


  /**
   * 根據結果集得到對象信息
   * @param rs ResultSet
   * @return AttributeInfo
   */
  private AttributeInfo getInfo(ResultSet rs) {
    AttributeInfo info = null;
    ResultSetMetaData rsmd = null;
    try {
      rsmd = rs.getMetaData();
      info = new AttributeInfo();
      for (int i = 0; i < rsmd.getColumnCount(); i++) {
        String column = rsmd.getColumnName(i + 1).toLowerCase();
        if (column.equals("aid")) {
          info.setAid(rs.getLong("Aid"));
          break;
        } else if (column.equals("tid")) {
          info.setTid(rs.getLong("Tid"));
          break;
        } else if (column.equals("name")) {
          info.setName(rs.getString("Name"));
          break;
        } else if (column.equals("attributetype")) {
          info.setType(rs.getString("AttributeType"));
          break;
        } else {
          break;
        }
      }
    } catch (Exception ex) {
      info = null;
    }
    return info;
  }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人精品小蝌蚪| 欧美日韩久久久| 日本不卡123| 亚洲大片在线观看| 伊人开心综合网| 国产精品免费aⅴ片在线观看| 久久欧美一区二区| 久久免费视频一区| 久久久久久久网| 国产欧美日本一区二区三区| 久久久国产午夜精品 | 久久久久青草大香线综合精品| 日韩三级av在线播放| 日韩美女一区二区三区四区| 日韩免费看网站| 久久久精品国产免大香伊| xfplay精品久久| 国产日韩精品一区二区三区 | 奇米精品一区二区三区在线观看一| 丝袜a∨在线一区二区三区不卡| 婷婷久久综合九色综合伊人色| 视频一区视频二区中文字幕| 日韩电影在线一区二区| 日本成人中文字幕在线视频| 国产资源在线一区| 99久久久国产精品免费蜜臀| 欧美三级蜜桃2在线观看| 欧美美女视频在线观看| 欧美一二三区在线| 国产欧美视频一区二区三区| 亚洲日本va午夜在线电影| 亚洲国产成人av好男人在线观看| 免费人成网站在线观看欧美高清| 国产精品一区二区三区乱码| 99re这里只有精品首页| 欧美日韩aaaaa| 久久综合九色综合久久久精品综合| 中文在线资源观看网站视频免费不卡 | 欧美电影在哪看比较好| 久久一留热品黄| 亚洲精品高清在线观看| 美女久久久精品| 丁香网亚洲国际| 欧美日韩在线三区| 精品国产1区二区| 亚洲女性喷水在线观看一区| 日韩精品一级二级| 欧美特级限制片免费在线观看| 69久久99精品久久久久婷婷| 国产嫩草影院久久久久| 视频一区视频二区中文| 国产成人夜色高潮福利影视| 欧美系列一区二区| 久久精品一区二区三区四区| 亚洲欧美日韩国产中文在线| 久久精品72免费观看| gogo大胆日本视频一区| 欧美一区二区免费| 中文字幕色av一区二区三区| 日本欧美在线看| 色综合一个色综合| 日韩精品一区二区三区视频在线观看 | 亚洲欧美另类在线| 韩国av一区二区三区在线观看| 91久久人澡人人添人人爽欧美| 久久久亚洲精华液精华液精华液| 亚洲一区成人在线| 成人综合婷婷国产精品久久免费| 88在线观看91蜜桃国自产| 国产精品传媒入口麻豆| 久国产精品韩国三级视频| 欧美日韩一级片在线观看| 国产精品女主播av| 国产在线一区观看| 欧美日本一区二区在线观看| 成人欧美一区二区三区小说 | 91国产福利在线| 中文字幕不卡在线| 久久精品99国产国产精| 7777精品伊人久久久大香线蕉经典版下载 | 色综合天天综合在线视频| 精品成人一区二区| 丝袜亚洲精品中文字幕一区| 色av一区二区| 国产精品对白交换视频 | 欧美伦理电影网| 亚洲蜜桃精久久久久久久| 成人一级片网址| 精品国产1区二区| 美女久久久精品| 欧美一区二区三区系列电影| 亚洲成人综合在线| 91国偷自产一区二区三区观看| 国产精品美日韩| 国产a精品视频| 久久久久久久精| 韩国v欧美v日本v亚洲v| 欧美tickling挠脚心丨vk| 美女mm1313爽爽久久久蜜臀| 777奇米四色成人影色区| 亚洲一区av在线| 欧美日韩日日夜夜| 狠狠色丁香久久婷婷综| 51精品秘密在线观看| 亚洲成人免费看| 欧美日韩在线播放三区四区| 午夜国产精品一区| 欧美乱妇20p| 日本女人一区二区三区| 欧美人妇做爰xxxⅹ性高电影| 日韩精品久久理论片| 欧美一区二区在线不卡| 免费高清在线视频一区·| 欧美一区二区三区视频在线| 麻豆成人久久精品二区三区小说| 欧美精品一区二区三区视频| 国产在线视频一区二区三区| 久久久精品免费网站| 成人av免费在线观看| 最好看的中文字幕久久| 欧美在线免费视屏| 首页亚洲欧美制服丝腿| 日韩女优av电影在线观看| 国产美女视频一区| 亚洲天堂久久久久久久| 欧美午夜精品一区| 五月综合激情网| 久久欧美一区二区| 99精品视频在线免费观看| 亚洲国产一区二区a毛片| 欧美va亚洲va在线观看蝴蝶网| 国产精品一区二区男女羞羞无遮挡 | 久久久99精品免费观看不卡| 91小视频免费看| 亚洲国产精品一区二区久久| 日韩网站在线看片你懂的| 粉嫩一区二区三区性色av| 亚洲人一二三区| 日韩视频一区在线观看| 岛国av在线一区| 亚洲一区二区三区美女| 日韩欧美亚洲一区二区| 成+人+亚洲+综合天堂| 亚洲国产一区在线观看| 精品国产人成亚洲区| 99re66热这里只有精品3直播 | 成人av电影免费在线播放| 一区二区三区免费网站| 日韩午夜激情av| 色悠久久久久综合欧美99| 日本不卡123| 中文字幕一区二区三区视频| 91精品在线麻豆| 成人午夜看片网址| 午夜精品一区二区三区电影天堂 | 亚洲私人影院在线观看| 欧美日韩夫妻久久| 处破女av一区二区| 日本少妇一区二区| 一区精品在线播放| 精品日韩成人av| 91蜜桃在线免费视频| 久草精品在线观看| 一区二区三区在线免费| 日韩视频一区在线观看| 欧美中文字幕一二三区视频| 国产成人免费视频| 日本sm残虐另类| 亚洲日本丝袜连裤袜办公室| 26uuu久久天堂性欧美| 欧美色视频一区| 成人99免费视频| 激情小说欧美图片| 亚洲综合视频在线观看| 久久精品欧美日韩| 制服丝袜一区二区三区| 欧美一区二区国产| 在线观看亚洲专区| 成人精品鲁一区一区二区| 久久精工是国产品牌吗| 香蕉乱码成人久久天堂爱免费| 国产精品美女久久久久久久久久久| 欧美一区二区日韩| 欧美视频日韩视频| 99re6这里只有精品视频在线观看| 久久成人综合网| 天天综合天天做天天综合| 亚洲同性gay激情无套| 国产日韩影视精品| 欧美精品一区二区三区四区 | 亚洲精品在线电影| 欧美人妖巨大在线| 欧美性videosxxxxx| 色婷婷国产精品综合在线观看| 成人免费毛片a| 国产精品综合二区| 国产一区在线不卡| 经典三级一区二区| 另类综合日韩欧美亚洲| 卡一卡二国产精品 |