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

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

?? updatableresultset.java

?? 基于java的oa系統
?? JAVA
?? 第 1 頁 / 共 5 頁
字號:
        //        conversion!        try {            int numKeys = primaryKeyIndicies.size();            if (numKeys == 1) {                int index = ((Integer) primaryKeyIndicies.get(0)).intValue();                String currentVal = ((characterEncoding == null)                    ? new String(thisRow[index])                    : new String(thisRow[index], characterEncoding));                deleter.setString(1, currentVal);            } else {                for (int i = 0; i < numKeys; i++) {                    int index = ((Integer) primaryKeyIndicies.get(i)).intValue();                    String currentVal = ((characterEncoding == null)                        ? new String(thisRow[index])                        : new String(thisRow[index], characterEncoding));                    deleter.setString(i + 1, currentVal);                }            }            deleter.executeUpdate();            rowData.removeRow(rowData.getCurrentRowNumber());        } catch (java.io.UnsupportedEncodingException encodingEx) {            throw new SQLException("Unsupported character encoding '"                + connection.getEncoding() + "'");        }    }    /**     * JDBC 2.0     *      * <p>     * Moves to the first row in the result set.     * </p>     *     * @return true if on a valid row, false if no rows in the result set.     *     * @exception SQLException if a database-access error occurs, or result set     *            type is TYPE_FORWARD_ONLY.     */    public synchronized boolean first() throws SQLException {        return super.first();    }    /**     * JDBC 2.0 Insert the contents of the insert row into the result set and     * the database.  Must be on the insert row when this method is called.     *     * @exception SQLException if a database-access error occurs, if called     *            when not on the insert row, or if all non-nullable columns     *            in the insert row have not been given a value     */    public synchronized void insertRow() throws SQLException {        if (!onInsertRow) {            throw new SQLException("Not on insert row");        } else {            inserter.executeUpdate();            int numPrimaryKeys = 0;            if (primaryKeyIndicies != null) {                numPrimaryKeys = primaryKeyIndicies.size();            }            long autoIncrementId = inserter.getLastInsertID();            int numFields = fields.length;            byte[][] newRow = new byte[numFields][];            for (int i = 0; i < numFields; i++) {                if (inserter.isNull(i)) {                    newRow[i] = null;                } else {                    newRow[i] = inserter.getBytes(i);                }                if ((numPrimaryKeys == 1) && fields[i].isPrimaryKey()                        && (autoIncrementId > 0)) {                    newRow[i] = String.valueOf(autoIncrementId).getBytes();                }            }            rowData.addRow(newRow);            resetInserter();        }    }    /**     * JDBC 2.0     *      * <p>     * Moves to the last row in the result set.     * </p>     *     * @return true if on a valid row, false if no rows in the result set.     *     * @exception SQLException if a database-access error occurs, or result set     *            type is TYPE_FORWARD_ONLY.     */    public synchronized boolean last() throws SQLException {        return super.last();    }    /**     * JDBC 2.0 Move the cursor to the remembered cursor position, usually the     * current row.  Has no effect unless the cursor is on the insert  row.     *     * @exception SQLException if a database-access error occurs, or the result     *            set is not updatable     * @throws SQLException if the ResultSet is not updatable or some other     *         error occurs     */    public synchronized void moveToCurrentRow() throws SQLException {        if (!isUpdatable) {            throw new NotUpdatable();        }        if (this.onInsertRow) {            onInsertRow = false;            this.thisRow = this.savedCurrentRow;        }    }    /**     * JDBC 2.0 Move to the insert row.  The current cursor position is     * remembered while the cursor is positioned on the insert row. The insert     * row is a special row associated with an updatable result set.  It is     * essentially a buffer where a new row may be constructed by calling the     * updateXXX() methods prior to  inserting the row into the result set.     * Only the updateXXX(), getXXX(), and insertRow() methods may be  called     * when the cursor is on the insert row.  All of the columns in  a result     * set must be given a value each time this method is called before     * calling insertRow().  UpdateXXX()must be called before getXXX() on a     * column.     *     * @exception SQLException if a database-access error occurs, or the result     *            set is not updatable     * @throws NotUpdatable DOCUMENT ME!     */    public synchronized void moveToInsertRow() throws SQLException {        if (!this.isUpdatable) {            throw new NotUpdatable();        }        if (this.inserter == null) {            generateStatements();            this.inserter = (com.mysql.jdbc.PreparedStatement) connection                .prepareStatement(this.insertSQL);                        if (this.inserter.getMaxRows() != 0) {            	this.inserter.setMaxRows(0);            }                        extractDefaultValues();            resetInserter();        } else {            resetInserter();        }		int numFields = this.fields.length;				this.onInsertRow = true;		this.doingUpdates = false;		this.savedCurrentRow = this.thisRow;		this.thisRow = new byte[numFields][];			           for (int i = 0; i < numFields; i++) {            if (this.defaultColumnValue[i] != null) {                this.inserter.setBytes(i + 1, this.defaultColumnValue[i], false);                                // This value _could_ be changed from a getBytes(), so we                // need a copy....                byte[] defaultValueCopy = new byte[this.defaultColumnValue[i].length];                System.arraycopy(defaultColumnValue[i], 0, defaultValueCopy, 0, defaultValueCopy.length);                this.thisRow[i] = defaultValueCopy;            } else {                this.inserter.setNull(i + 1, java.sql.Types.NULL);                this.thisRow[i] = null;            }        }    }    /**     * A ResultSet is initially positioned before its first row, the first call     * to next makes the first row the current row; the second call makes the     * second row the current row, etc.     *      * <p>     * If an input stream from the previous row is open, it is implicitly     * closed.  The ResultSet's warning chain is cleared when a new row is     * read     * </p>     *     * @return true if the new current is valid; false if there are no more     *         rows     *     * @exception java.sql.SQLException if a database access error occurs     */    public synchronized boolean next() throws java.sql.SQLException {        return super.next();    }    /**     * The prev method is not part of JDBC, but because of the architecture of     * this driver it is possible to move both forward and backward within the     * result set.     *      * <p>     * If an input stream from the previous row is open, it is implicitly     * closed.  The ResultSet's warning chain is cleared when a new row is     * read     * </p>     *     * @return true if the new current is valid; false if there are no more     *         rows     *     * @exception java.sql.SQLException if a database access error occurs     */    public synchronized boolean prev() throws java.sql.SQLException {        return super.prev();    }    /**     * JDBC 2.0     *      * <p>     * Moves to the previous row in the result set.     * </p>     *      * <p>     * Note: previous() is not the same as relative(-1) since it makes sense to     * call previous() when there is no current row.     * </p>     *     * @return true if on a valid row, false if off the result set.     *     * @exception SQLException if a database-access error occurs, or result set     *            type is TYPE_FORWAR_DONLY.     */    public synchronized boolean previous() throws SQLException {        return super.previous();    }    /**     * JDBC 2.0 Refresh the value of the current row with its current value in     * the database.  Cannot be called when on the insert row. The     * refreshRow() method provides a way for an application to  explicitly     * tell the JDBC driver to refetch a row(s) from the database.  An     * application may want to call refreshRow() when  caching or prefetching     * is being done by the JDBC driver to fetch the latest value of a row     * from the database.  The JDBC driver  may actually refresh multiple rows     * at once if the fetch size is  greater than one.  All values are     * refetched subject to the transaction isolation  level and cursor     * sensitivity.  If refreshRow() is called after calling updateXXX(), but     * before calling updateRow() then the updates made to the row are lost.     * Calling refreshRow() frequently will likely slow performance.     *     * @exception SQLException if a database-access error occurs, or if called     *            when on the insert row.     * @throws NotUpdatable DOCUMENT ME!     */    public synchronized void refreshRow() throws SQLException {        if (!isUpdatable) {            throw new NotUpdatable();        }        if (onInsertRow) {            throw new SQLException(                "Can not call refreshRow() when on insert row");        } else if (rowData.size() == 0) {            throw new SQLException("Can't refreshRow() on empty result set");        } else if (isBeforeFirst()) {            throw new SQLException(                "Before start of result set. Can not call refreshRow().");        } else if (isAfterLast()) {            throw new SQLException(                "After end of result set. Can not call refreshRow().");        }        if (refresher == null) {            if (refreshSQL == null) {                generateStatements();            }            refresher = (com.mysql.jdbc.PreparedStatement) connection                .prepareStatement(refreshSQL);                        if (refresher.getMaxRows() != 0) {            	refresher.setMaxRows(0);            }        }        refresher.clearParameters();        int numKeys = primaryKeyIndicies.size();        if (numKeys == 1) {            byte[] dataFrom = null;            int index = ((Integer) primaryKeyIndicies.get(0)).intValue();            if (!doingUpdates) {                dataFrom = thisRow[index];            } else {                dataFrom = updater.getBytes(index);                // Primary keys not set?                if (updater.isNull(index) || (dataFrom.length == 0)) {                    dataFrom = thisRow[index];                }            }            refresher.setBytesNoEscape(1, dataFrom);        } else {            for (int i = 0; i < numKeys; i++) {                byte[] dataFrom = null;                int index = ((Integer) primaryKeyIndicies.get(i)).intValue();                if (!doingUpdates) {                    dataFrom = thisRow[index];                } else {                    dataFrom = updater.getBytes(index);                    // Primary keys not set?                    if (updater.isNull(index) || (dataFrom.length == 0)) {                        dataFrom = thisRow[index];                    }                }                refresher.setBytesNoEscape(i + 1, dataFrom);            }        }        java.sql.ResultSet rs = null;        try {            rs = refresher.executeQuery();            int numCols = rs.getMetaData().getColumnCount();            if (rs.next()) {                for (int i = 0; i < numCols; i++) {                    byte[] val = rs.getBytes(i + 1);                    if ((val == null) || rs.wasNull()) {                        thisRow[i] = null;                    } else {                        thisRow[i] = rs.getBytes(i + 1);                    }                }            } else {                throw new SQLException("refreshRow() called on row that has been deleted or had primary key changed",                    SQLError.SQL_STATE_GENERAL_ERROR);            }        } finally {            if (rs != null) {                try {                    rs.close();                } catch (SQLException ex) {                    ; // ignore                }            }        }    }    /**     * JDBC 2.0     *      * <p>     * Moves a relative number of rows, either positive or negative. Attempting     * to move beyond the first/last row in the result set positions the     * cursor before/after the the first/last row. Calling relative(0) is     * valid, but does not change the cursor position.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色呦呦网站一区| 日韩成人精品在线观看| 成人av在线资源| 欧美国产欧美综合| www.性欧美| 亚洲精品一二三| 欧美巨大另类极品videosbest| 亚洲精品国产成人久久av盗摄| 欧美又粗又大又爽| 午夜精品一区二区三区免费视频| 欧美一区午夜精品| 国产制服丝袜一区| 国产精品久久久久久久久搜平片 | 亚洲婷婷在线视频| 精品视频色一区| 久久99精品久久久久| 国产日韩av一区| 91福利区一区二区三区| 免费成人在线观看| 国产日韩亚洲欧美综合| 91福利小视频| 国内精品久久久久影院一蜜桃| 欧美激情中文字幕一区二区| 在线这里只有精品| 激情国产一区二区| 亚洲裸体xxx| 日韩精品一区二区在线| 成熟亚洲日本毛茸茸凸凹| 高清av一区二区| 久久这里只精品最新地址| 午夜激情久久久| 欧美三级电影精品| 国产一区二区精品久久91| 亚洲蜜臀av乱码久久精品| 精品免费国产一区二区三区四区| av一区二区三区黑人| 喷水一区二区三区| 夜夜嗨av一区二区三区网页| 欧美不卡在线视频| 91福利区一区二区三区| 国产成人8x视频一区二区| 五月激情丁香一区二区三区| 亚洲欧美在线视频观看| 日韩欧美在线综合网| 欧美视频一区在线观看| av午夜一区麻豆| 韩国三级中文字幕hd久久精品| 亚洲免费观看高清完整| 国产婷婷一区二区| 日韩欧美一区二区免费| 欧美在线一区二区三区| 成人激情开心网| 狠狠色丁香婷婷综合| 日韩中文字幕不卡| 亚洲精品第1页| 国产精品久久久久7777按摩| 精品女同一区二区| 日韩视频免费观看高清完整版在线观看| 亚洲成a人片在线不卡一二三区| 国产一区二区按摩在线观看| 亚洲精品写真福利| 国产欧美一区二区在线| 欧美一二三四区在线| 在线视频国产一区| 99久精品国产| 粉嫩av一区二区三区粉嫩| 麻豆91精品视频| 日本在线不卡视频一二三区| 亚洲国产视频直播| 亚洲乱码一区二区三区在线观看| 中文字幕电影一区| 国产欧美一区二区三区沐欲| 久久久久久久久久久久久夜| 亚洲精品一区二区三区福利| 精品国产乱码久久久久久牛牛 | 日韩情涩欧美日韩视频| 欧美精品九九99久久| 欧美日韩一区二区三区四区五区| 欧美在线制服丝袜| 精品系列免费在线观看| 久久国产精品99久久久久久老狼| 中文字幕一区二区三区乱码在线| 亚洲国产精品t66y| 国产精品婷婷午夜在线观看| 97久久人人超碰| 蜜臀av亚洲一区中文字幕| 日韩激情视频在线观看| 日本va欧美va精品| 韩日精品视频一区| 成人小视频免费观看| 成人免费视频播放| 色网综合在线观看| 欧美性生活一区| 91精品国产综合久久香蕉的特点 | 精品国产三级电影在线观看| 欧美电影免费观看高清完整版在线观看 | 国产成人精品一区二区三区四区 | 欧美裸体bbwbbwbbw| 欧美剧在线免费观看网站| 欧美一区二区日韩一区二区| 日韩午夜av一区| 国产午夜亚洲精品理论片色戒| 国产精品伦理在线| 亚洲成a人v欧美综合天堂下载 | 96av麻豆蜜桃一区二区| 99久久精品国产一区| 欧美三级韩国三级日本一级| 欧美精品一区二区三区在线播放| 国产色产综合色产在线视频| 最新热久久免费视频| 午夜a成v人精品| 日本电影欧美片| 久久久噜噜噜久久人人看| 欧美日韩在线免费视频| 99久久久免费精品国产一区二区 | 欧美三级电影在线观看| 欧美变态tickling挠脚心| 国产精品另类一区| 日本成人在线不卡视频| 成人黄色软件下载| 777久久久精品| 国产日韩欧美综合一区| 亚洲h精品动漫在线观看| 国产一区二区三区免费| 日本国产一区二区| 26uuu色噜噜精品一区| 玉足女爽爽91| 国产精品99久久久| 欧美一区二区三区人| 亚洲图片另类小说| 久久99精品久久久久| 欧美在线免费观看亚洲| 日本一区二区三区电影| 另类专区欧美蜜桃臀第一页| 色综合婷婷久久| 久久久五月婷婷| 日韩高清欧美激情| 一本大道久久精品懂色aⅴ| 久久女同精品一区二区| 欧美日本韩国一区| 日韩电影网1区2区| 91碰在线视频| 国产丝袜美腿一区二区三区| 日韩av一区二| 欧美三片在线视频观看| 综合久久综合久久| 成人精品鲁一区一区二区| 欧美va日韩va| 肉丝袜脚交视频一区二区| 97精品电影院| 国产精品成人免费| 国产精品亚洲第一区在线暖暖韩国 | 另类中文字幕网| 欧美日韩国产高清一区| 亚洲综合无码一区二区| 99精品视频在线观看免费| 国产精品视频在线看| 国产大陆a不卡| 国产农村妇女毛片精品久久麻豆| 黑人精品欧美一区二区蜜桃| 欧美一区二区女人| 丝袜脚交一区二区| 欧美日韩国产免费一区二区| 有码一区二区三区| 日本乱码高清不卡字幕| 亚洲靠逼com| 色婷婷国产精品久久包臀| 亚洲欧美区自拍先锋| 日本久久一区二区三区| 亚洲欧洲国产日本综合| 成人综合婷婷国产精品久久蜜臀 | 亚洲综合在线观看视频| 日本精品免费观看高清观看| 亚洲六月丁香色婷婷综合久久| 99re这里都是精品| 亚洲一区二区三区视频在线| 欧美日韩在线播| 三级久久三级久久久| 欧美电影精品一区二区| 国产一区二区三区久久悠悠色av| 久久精品视频免费| av成人老司机| 亚洲一区二区综合| 91精品婷婷国产综合久久竹菊| 免费看欧美美女黄的网站| 久久影院午夜论| 成人理论电影网| 夜夜操天天操亚洲| 91精品国产综合久久福利软件| 蜜臀av一区二区| 中文字幕欧美激情| 在线精品亚洲一区二区不卡| 石原莉奈一区二区三区在线观看| 日韩午夜在线观看视频| 成人一区二区三区中文字幕| 亚洲美女在线一区| 欧美一区二区日韩| 成人av网在线| 全部av―极品视觉盛宴亚洲| 久久久国产精华|