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

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

?? jdbcadapter.java

?? 一個(gè)很好的java編的倉(cāng)庫(kù)管理系統(tǒng)
?? JAVA
字號(hào):
/* * @(#)JDBCAdapter.java	1.12 01/12/03 * * Copyright 2002 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. *//** * An adaptor, transforming the JDBC interface to the TableModel interface. * * @version 1.20 09/25/97 * @author Philip Milne */import java.util.Vector;import java.sql.*;import javax.swing.table.AbstractTableModel;import javax.swing.event.TableModelEvent;public class JDBCAdapter extends AbstractTableModel {    Connection          connection;    Statement           statement;    ResultSet           resultSet;    String[]            columnNames = {};    Vector		rows = new Vector();    ResultSetMetaData   metaData;    public JDBCAdapter(String url, String driverName,                       String user, String passwd) {        try {            Class.forName(driverName);            System.out.println("Opening db connection");            connection = DriverManager.getConnection(url, user, passwd);            statement = connection.createStatement();        }        catch (ClassNotFoundException ex) {            System.err.println("Cannot find the database driver classes.");            System.err.println(ex);        }        catch (SQLException ex) {            System.err.println("Cannot connect to this database.");            System.err.println(ex);        }     }    public void executeQuery(String query) {        if (connection == null || statement == null) {            System.err.println("There is no database to execute the query.");            return;        }        try {            resultSet = statement.executeQuery(query);            metaData = resultSet.getMetaData();            int numberOfColumns =  metaData.getColumnCount();            columnNames = new String[numberOfColumns];            // Get the column names and cache them.            // Then we can close the connection.            for(int column = 0; column < numberOfColumns; column++) {                columnNames[column] = metaData.getColumnLabel(column+1);            }            // Get all rows.            rows = new Vector();            while (resultSet.next()) {                Vector newRow = new Vector();                for (int i = 1; i <= getColumnCount(); i++) {	            newRow.addElement(resultSet.getObject(i));                }                rows.addElement(newRow);            }            //  close(); Need to copy the metaData, bug in jdbc:odbc driver.            fireTableChanged(null); // Tell the listeners a new table has arrived.        }        catch (SQLException ex) {            System.err.println(ex);        }    }    public void close() throws SQLException {        System.out.println("Closing db connection");        resultSet.close();        statement.close();        connection.close();    }    protected void finalize() throws Throwable {        close();        super.finalize();    }    //////////////////////////////////////////////////////////////////////////    //    //             Implementation of the TableModel Interface    //    //////////////////////////////////////////////////////////////////////////    // MetaData    public String getColumnName(int column) {        if (columnNames[column] != null) {            return columnNames[column];        } else {            return "";        }    }    public Class getColumnClass(int column) {        int type;        try {            type = metaData.getColumnType(column+1);        }        catch (SQLException e) {            return super.getColumnClass(column);        }        switch(type) {        case Types.CHAR:        case Types.VARCHAR:        case Types.LONGVARCHAR:            return String.class;        case Types.BIT:            return Boolean.class;        case Types.TINYINT:        case Types.SMALLINT:        case Types.INTEGER:            return Integer.class;        case Types.BIGINT:            return Long.class;        case Types.FLOAT:        case Types.DOUBLE:            return Double.class;        case Types.DATE:            return java.sql.Date.class;        default:            return Object.class;        }    }    public String getColumnClassStr(int column) {        int type;        try {            type = metaData.getColumnType(column+1);        }        catch (SQLException e) {            return " ";        }        switch(type) {        case Types.CHAR:        case Types.VARCHAR:        case Types.LONGVARCHAR:            return "String";        case Types.BIT:            return "Boolean";        case Types.TINYINT:        case Types.SMALLINT:        case Types.INTEGER:            return "int";        case Types.BIGINT:            return "long";        case Types.FLOAT:        case Types.DOUBLE:            return "float";        case Types.DATE:            return "String";        default:            return "String";        }    }        public boolean isCellEditable(int row, int column) {        try {            return metaData.isWritable(column+1);        }        catch (SQLException e) {            return false;        }    }    public int getColumnCount() {        return columnNames.length;    }    // Data methods    public int getRowCount() {        return rows.size();    }    public Object getValueAt(int aRow, int aColumn) {        Vector row = (Vector)rows.elementAt(aRow);        return row.elementAt(aColumn);    }    public String dbRepresentation(int column, Object value) {        int type;        if (value == null) {            return "null";        }        try {            type = metaData.getColumnType(column+1);        }        catch (SQLException e) {            return value.toString();        }        switch(type) {        case Types.INTEGER:        case Types.DOUBLE:        case Types.FLOAT:            return value.toString();        case Types.BIT:            return ((Boolean)value).booleanValue() ? "1" : "0";        case Types.DATE:            return value.toString(); // This will need some conversion.        default:            return "\""+value.toString()+"\"";        }    }    public void setValueAt(Object value, int row, int column) {        try {            String tableName = metaData.getTableName(column+1);            // Some of the drivers seem buggy, tableName should not be null.            if (tableName == null) {                System.out.println("Table name returned null.");            }            String columnName = getColumnName(column);            String query =                "update "+tableName+                " set "+columnName+" = "+dbRepresentation(column, value)+                " where ";            // We don't have a model of the schema so we don't know the            // primary keys or which columns to lock on. To demonstrate            // that editing is possible, we'll just lock on everything.            for(int col = 0; col<getColumnCount(); col++) {                String colName = getColumnName(col);                if (colName.equals("")) {                    continue;                }                if (col != 0) {                    query = query + " and ";                }                query = query + colName +" = "+                    dbRepresentation(col, getValueAt(row, col));            }            System.out.println(query);            System.out.println("Not sending update to database");            // statement.executeQuery(query);        }        catch (SQLException e) {            //     e.printStackTrace();            System.err.println("Update failed");        }        Vector dataRow = (Vector)rows.elementAt(row);        dataRow.setElementAt(value, column);    }}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99精品欧美一区| 在线不卡欧美精品一区二区三区| 奇米色777欧美一区二区| 日日摸夜夜添夜夜添精品视频| 亚洲一区二区不卡免费| 亚洲国产欧美在线人成| 亚洲一二三四在线| 午夜久久久久久久久| 亚洲国产精品久久艾草纯爱| 性做久久久久久免费观看欧美| 亚洲成a人v欧美综合天堂| 亚洲一区二区不卡免费| 日韩精品亚洲一区| 欧美aaaaa成人免费观看视频| 美女任你摸久久| 国产精品影视天天线| 国产成人精品在线看| 成人黄动漫网站免费app| 成人免费在线观看入口| 日韩亚洲欧美成人一区| 欧美一区二区三区不卡| 91免费观看在线| 成人听书哪个软件好| 美女视频一区在线观看| 亚洲午夜精品在线| 亚洲精品免费一二三区| 亚洲图片欧美激情| 亚洲高清三级视频| 欧美r级电影在线观看| 欧美午夜片在线观看| 欧美日韩一区国产| 精品国产乱码久久久久久老虎| 久久亚洲捆绑美女| 中文字幕视频一区二区三区久| 亚洲精品高清在线观看| 日日夜夜精品视频天天综合网| 国产精品影视在线观看| 91美女在线视频| 欧美一区二视频| 亚洲国产激情av| 亚洲永久精品大片| 国产一区二区日韩精品| 91在线免费播放| 欧美美女直播网站| 久久久精品免费观看| 亚洲免费成人av| 久久国产三级精品| 92精品国产成人观看免费| 91精品国产一区二区| 国产精品色眯眯| 日韩成人免费电影| av动漫一区二区| 日韩一卡二卡三卡四卡| 综合在线观看色| 韩国在线一区二区| 色网站国产精品| 欧美精品一区二区三区一线天视频 | 国产偷国产偷亚洲高清人白洁| 亚洲天天做日日做天天谢日日欢| 麻豆成人91精品二区三区| 97久久超碰精品国产| 欧美精品一区二区三区蜜桃| 亚洲一区二区三区免费视频| 成人激情校园春色| 日韩一区二区不卡| 亚洲激情男女视频| 成人永久免费视频| 精品国产乱码久久久久久久久| 亚洲激情图片qvod| 国产91丝袜在线播放| 日韩欧美的一区二区| 亚洲黄色录像片| 成人三级伦理片| 高清视频一区二区| 国产精品拍天天在线| 99久久综合狠狠综合久久| 亚洲一二三区不卡| 成人app网站| 久久综合九色综合97_久久久| 亚洲午夜视频在线| 色狠狠av一区二区三区| 中文字幕av资源一区| 国产成人av资源| 五月天亚洲精品| 99国产精品视频免费观看| 韩国三级电影一区二区| 欧美三片在线视频观看 | 亚洲午夜私人影院| 成人精品视频一区| 国产午夜精品久久久久久免费视| 看电影不卡的网站| 宅男噜噜噜66一区二区66| 夜夜爽夜夜爽精品视频| 91在线码无精品| 中文字幕综合网| 北条麻妃一区二区三区| 国产精品视频在线看| 成人在线综合网站| 国产婷婷色一区二区三区| 国产乱码精品一区二区三区忘忧草| 91精品国产综合久久精品app | 欧美综合在线视频| 亚洲免费在线视频一区 二区| www.亚洲色图| 亚洲人成影院在线观看| 99re热这里只有精品视频| 国产精品久久久久久久第一福利 | 欧美日韩不卡一区| 婷婷国产v国产偷v亚洲高清| 欧美精品xxxxbbbb| 秋霞成人午夜伦在线观看| 日韩一区二区免费视频| 婷婷综合久久一区二区三区| 777a∨成人精品桃花网| 日韩福利视频网| 日韩欧美资源站| 国产综合色视频| 国产日韩欧美一区二区三区综合| 成人黄色在线看| 亚洲影院久久精品| 欧美日韩一级大片网址| 久久99在线观看| 久久精品一区二区三区不卡牛牛| 成人一区二区三区视频| 亚洲免费资源在线播放| 欧美精品 日韩| 国模无码大尺度一区二区三区| 久久久精品日韩欧美| 色中色一区二区| 日韩av一级电影| 国产校园另类小说区| 成a人片国产精品| 性感美女久久精品| 精品国产不卡一区二区三区| 国产成人免费视频网站高清观看视频 | 国产精品美女久久久久久久久久久| 自拍偷自拍亚洲精品播放| 日韩手机在线导航| 欧美一区二区三区思思人| 欧美体内she精高潮| 91网页版在线| 国产日韩欧美综合一区| 欧美日韩大陆一区二区| 精品在线免费观看| 丝袜美腿高跟呻吟高潮一区| 亚洲午夜免费福利视频| 午夜精品久久久久久久99樱桃| 亚洲最色的网站| 精品无人区卡一卡二卡三乱码免费卡| 久久久精品综合| 欧美在线观看视频一区二区| 美女视频网站久久| 亚洲欧美日韩国产综合| 日韩久久久精品| 国产欧美日韩麻豆91| 狠狠色2019综合网| 亚洲精品一区二区三区在线观看| 99精品热视频| 青青草精品视频| 国产精品久久久久久久久果冻传媒 | 蜜桃视频在线观看一区| 国产精品美女久久久久av爽李琼 | 国产精品系列在线| 欧美日本韩国一区| 成人一级视频在线观看| 日韩av高清在线观看| 亚洲欧美在线视频| 精品久久一区二区三区| 日本福利一区二区| 国产91精品一区二区麻豆网站| 舔着乳尖日韩一区| 亚洲欧美在线视频观看| 久久先锋影音av| 欧美在线不卡视频| 粉嫩高潮美女一区二区三区| 91免费国产视频网站| 日韩欧美成人一区二区| 色8久久精品久久久久久蜜| 国产乱码精品一区二区三| 五月天激情综合网| 亚洲激情欧美激情| 国产精品久久久久7777按摩| 精品日韩一区二区三区| 欧美精品 国产精品| 久久久久久久久久久久电影 | 97精品久久久午夜一区二区三区| 久久99热这里只有精品| 亚洲gay无套男同| 日韩伦理免费电影| 日本一区二区综合亚洲| wwwwxxxxx欧美| 日韩视频在线一区二区| 欧美日韩精品一区二区在线播放| 99精品国产一区二区三区不卡| 国产高清成人在线| 国产激情一区二区三区桃花岛亚洲| 美国av一区二区| 激情综合五月婷婷| 免费人成精品欧美精品| 日韩国产一二三区|