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

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

?? jdbcjtable.java

?? jdbc 的實例源碼
?? JAVA
字號:
/* * * jdbcJTable * * Copyright 1996 John Wiley & Sons, Inc. All Rights Reserved. Reproduction * or translation of this work beyond that permitted in Section 117 of the 1976 * United States Copyright Act without the express written permission of the * copyright owner is unlawful. Requests for further information should be  * addressed to Permissions Department, John Wiley & Sons, Inc. The  * purchaser may make back-up copies for his/her own use only and not for  * distribution or resale. The Publisher assumes no responsibility for errors,  * omissions, or damages, caused by the use of this    software or from the use * of the information contained herein. * */import com.sun.java.swing.*;import com.sun.java.swing.table.*;import java.awt.*;import java.awt.event.*;import java.sql.*;import java.util.*;import java.lang.*;public class jdbcJTable {    JTable grid;    // a JDBC connection, and a Statement object    //    Connection con;    Statement stmt;    String table, column_list, pkey;    int pkey_col;    /**     *     * Constructs a new jdbcJTable object.     * @param url a URL to a valid JDBC data source.     * @param user a username     * @param pwd a password     * @param tbl the table to edit     * @param cols a comma-delimited list of columns to view     * @param pk the name of the primary key     *     */    public jdbcJTable(String url, String user, String pwd,                       String tbl, String cols, String pk) {        table       = tbl;        column_list = cols;        pkey        = pk;        // invoke the connect() method        //        connect(url, user, pwd);        // retrieve the data        //        getData();        // create a Frame        //        Frame f = new Frame();        // Set up a WindowAdapter that can close the Frame when the user clicks        // on the close control.        //        f.addWindowListener(new WindowAdapter() {            public void windowClosing(WindowEvent e) {                System.exit(0);            }        });        f.setLayout(new BorderLayout());        JScrollPane scrollpane = JTable.createScrollPaneForTable(grid);        scrollpane.setPreferredSize(new Dimension(700, 300));                                grid.getTableHeader().setUpdateTableInRealTime(false);        f.add("Center", scrollpane);        f.setTitle("cardfile");        // resize and show the frame        //        f.pack();        f.show();            }    /*     *     * make a JDBC connection.     *     */    public void connect (String url, String user, String pwd) {        try {            // ask the DriverManager to find            // a suitable driver for this URL.            //            con = DriverManager.getConnection(url, user, pwd);            // create a statement object. This is the            // gateway into the world of playing            // with fun things like SQL statements            // and results            //            stmt = con.createStatement();                    } catch (Exception e) {            e.printStackTrace ();        }    }        /**     * getData()     *     */    protected void getData() {        ResultSet rs;        try {            // retrieve all rows from the table.            //            rs = stmt.executeQuery("SELECT " + column_list + " FROM " + table);            // get a ResultSetMetaData object            //            ResultSetMetaData meta = rs.getMetaData();            final Vector rows = new Vector(); // a Vector to contain each row            int i;            int rowcount = 0;            // process the result set            //            while (rs.next()) {                rowcount++;                // create an array of columns; this will hold the                // String objects corresponding to each column,                // and will be inserted into the rows Vector.                //                String[] columns = new String[meta.getColumnCount()];                // store the value of each column                //                for (i = 1; i <= meta.getColumnCount(); i++) {                    columns[i - 1] = rs.getString(i);                }                rows.addElement(columns);            }            // loop for each column. Here, the column headers            // will be set to have the correct title and width.            //             final String[] column_list = new String[meta.getColumnCount()];            for (i = 1; i <= meta.getColumnCount(); i++) {                // get the column name                //                String col_name = meta.getColumnName(i);                column_list[i - 1] = col_name;                // determine a suitable column width: the greater                // of the column's display size or the size of                // its column name.                //                int size = Math.max(meta.getColumnDisplaySize(i), col_name.length());                //grid.addColumn(col_name, size, null, new DefaultCellEditor(new JTextField("")));                // if this column is the primary key, make it non-editable,                // and store the index in the pkey_col field.                //                if (col_name.equals(pkey)) {                    pkey_col = i - 1;                }            }            // set each column value on a row by row basis            //            final Object[][] data = new Object[rows.size()][meta.getColumnCount()];            int j;            for (j = 0; j < rows.size(); j++) {                // get the column array from the rows Vector                //                String[] columns = (String[]) rows.elementAt(j);                // add each column's value to the array                //                for (i = 0; i < columns.length; i++) {                    data[j][i] = columns[i];                }            }            final int pkey_colnum = pkey_col;            TableModel dataModel = new AbstractTableModel() {                        public int getColumnCount() { return column_list.length; }                public int getRowCount() { return rows.size(); }                public Object getValueAt(int row, int col) {                        return data[row][col];                }                        public String getColumnName(int column) {                        return column_list[column];                }                            public boolean isCellEditable(int row, int col) {                        return (col != pkey_colnum);                }                public void setValueAt(Object aValue, int row, int column) {                    // get the column name that was edited                    //                    String column_name = column_list[column];                    // get the column value                    //                    String column_val = (String) aValue;                    // get the value of this row's primary key                    //                    String pkey_val = (String) data[row][pkey_colnum];                    // construct an SQL UPDATE statement                    //                    String update = "UPDATE " + table +                                                     " SET " + column_name + " = '" + column_val + "' " +                                                    " WHERE " + pkey + " = " + pkey_val;                            // issue the UPDATE                    //                    try {                        stmt.executeUpdate(update);                    } catch (SQLException e) {                        SQLErr(e);                    }                    data[row][column] = aValue;                }            };            grid = new JTable(dataModel);            // Add a JTextField based editor for every column except the primary            // key column. This will probably change in later releases of JFC.            //            for (int k = 0; k < column_list.length; k++) {                TableColumn c = grid.getColumn(new Integer(k));                // Get this column's renderer.                //                DefaultCellRenderer renderer =                   new DefaultCellRenderer(new JLabel());                c.setCellRenderer(renderer);                if (k != pkey_col) {                    JTextField tf = new JTextField();                    tf.setBorder(null);                    c.setCellEditor(new DefaultCellEditor(tf));                    renderer.setToolTipText("Double click to edit");                } else {                    renderer.setToolTipText(                        "Sorry, this field is read-only");                }            }        } catch (SQLException e) {            SQLErr(e);        }    }        /**     *      * instantiate the jdbcJTable object with test data.     *     */    public static void main (String argv[]) {                try {            // register all of the JDBC classes you might use            // you can comment out or remove the ones you            // are not using.            //            Class.forName("textFileDriver").newInstance();               // the tinySQL textFile driver            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance(); // JDBC-ODBC bridge            Class.forName("com.sybase.jdbc.SybDriver").newInstance();    // Sybase            Class.forName("com.imaginary.sql.msql.MsqlDriver").newInstance();    // mSQL                    } catch (Exception e) {            e.printStackTrace();        }        if (argv.length == 0) {                System.out.println("You must supply a URL to a JDBC data source.");                System.out.println("");                System.out.println("Example:");                System.out.println("java DDL jdbc:odbc:DATA_SOURCE_NAME;" +                                                     "UID=userid;PWD=password");            System.exit(0);        }        // the user might have passed in a user name or password,        // so try to read those in, as well        //        String user, pwd;        if (argv.length > 1) {            user = argv[1];        } else {            user = "";        }        if (argv.length > 2) {            pwd = argv[2];        } else {            pwd = "";        }        String column_list =             "name, address, city, state, zip, country, phone, id";        jdbcJTable j =             new jdbcJTable(argv[0], user, pwd, "cardfile", column_list, "id");         }    /**     *     * mindless error handler which prints out state, message,     * and vendor info for SQL errors.     */    public void SQLErr(SQLException e) {        while (e != null) {            System.out.println("SQLState: " + e.getSQLState());            System.out.println("Message:    " + e.getMessage());            System.out.println("Vendor:     " + e.getErrorCode());            e.printStackTrace();            e = e.getNextException();            System.out.println("");        }    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美a级一区二区| 91丨porny丨蝌蚪视频| 国产99久久久国产精品免费看| 99精品久久99久久久久| 欧美一区二区三区色| 亚洲欧美激情视频在线观看一区二区三区| 亚洲国产精品天堂| 成人在线一区二区三区| 日韩欧美中文字幕精品| 亚洲欧美aⅴ...| 国产福利91精品| 日韩片之四级片| 亚洲国产视频一区二区| 丁香婷婷综合五月| 久久综合资源网| 久久精品国产99国产| 欧美日韩国产综合一区二区| 中文字幕亚洲区| 国产91清纯白嫩初高中在线观看 | 亚洲午夜精品17c| 风间由美一区二区av101 | 欧美熟乱第一页| 欧美日韩你懂的| 日韩免费电影一区| 欧美韩国日本不卡| 亚洲欧美偷拍卡通变态| 亚洲成人一区在线| 麻豆91精品91久久久的内涵| 国产成人一级电影| 欧美日韩中文国产| 精品国产髙清在线看国产毛片| 成熟亚洲日本毛茸茸凸凹| 色婷婷亚洲一区二区三区| 18成人在线视频| 色哟哟亚洲精品| 亚洲午夜久久久久久久久电影网 | 一区二区三区精品在线观看| 成人免费毛片片v| 欧美韩国日本不卡| 成人av网站在线观看| 成人欧美一区二区三区在线播放| 成人精品视频.| 国产精品天美传媒沈樵| 99re66热这里只有精品3直播| 国产精品久久久久久久久免费丝袜| 亚洲人精品一区| 一区二区三区欧美久久| 国产乱人伦偷精品视频不卡| 欧美主播一区二区三区| 国产丝袜在线精品| 蜜臀99久久精品久久久久久软件| aaa亚洲精品| 久久久久国色av免费看影院| 亚洲大片精品永久免费| 99久久精品国产网站| 欧美精品一区二区不卡 | 日韩一区二区三区视频在线观看| 国产亲近乱来精品视频| 香港成人在线视频| 99久久婷婷国产综合精品电影| 日韩欧美国产午夜精品| 亚洲二区在线观看| 91在线视频观看| 中国av一区二区三区| 国内外精品视频| 在线不卡a资源高清| 亚洲图片自拍偷拍| 在线看日本不卡| 一区二区三区四区高清精品免费观看 | 一区二区三区成人在线视频| 91精品国产乱码久久蜜臀| 国产一区欧美二区| 亚洲视频1区2区| 91精品国产综合久久精品麻豆| 国产成人在线视频网站| 一片黄亚洲嫩模| 亚洲自拍都市欧美小说| 久久综合国产精品| 欧美午夜精品久久久久久孕妇| 精品亚洲国产成人av制服丝袜| 国产精品高潮呻吟| 日韩一级免费一区| av电影在线观看一区| 秋霞午夜av一区二区三区| 中文字幕亚洲视频| 精品日韩在线一区| 在线精品视频小说1| 国产精品白丝av| 久久精品日产第一区二区三区高清版 | 欧美日韩一区二区三区高清 | 乱一区二区av| 久久先锋影音av| 粗大黑人巨茎大战欧美成人| 国产精品国产三级国产三级人妇| 99精品视频在线观看| 在线观看国产一区二区| 日韩黄色小视频| 亚洲国产综合人成综合网站| 中文无字幕一区二区三区| 精品免费国产二区三区 | 天天影视涩香欲综合网| 1000部国产精品成人观看| 久久免费电影网| 日韩欧美123| 日韩欧美亚洲另类制服综合在线 | 久久女同精品一区二区| 欧美日韩国产三级| 欧美性猛片aaaaaaa做受| 色婷婷精品久久二区二区蜜臀av| 国产成人精品亚洲日本在线桃色| 精油按摩中文字幕久久| 久久不见久久见免费视频7| 视频一区视频二区中文| 午夜电影网亚洲视频| 天涯成人国产亚洲精品一区av| 亚洲一二三四区| 一区二区日韩av| 亚洲国产视频a| 日韩精品一级二级| 日av在线不卡| 精品一区二区三区免费| 国产在线观看一区二区| 精品系列免费在线观看| 国产一区 二区| 国产麻豆精品在线观看| 国产91丝袜在线18| 99视频精品在线| 色婷婷一区二区三区四区| 欧美午夜精品电影| 91精品国产色综合久久不卡电影 | 国产精品热久久久久夜色精品三区 | 欧美年轻男男videosbes| 色乱码一区二区三区88| 欧美视频一区二| 欧美一区二区三区喷汁尤物| 精品国产在天天线2019| 久久美女艺术照精彩视频福利播放 | 亚洲精品一区二区三区影院| 国产成人免费视频网站| 一区二区三区四区不卡视频| 国产精品午夜在线| 久久精品夜夜夜夜久久| 日韩一区二区在线观看视频播放| 综合久久给合久久狠狠狠97色| 欧美精品一区二| 亚洲天堂精品在线观看| 首页国产欧美久久| 国产一区二区精品久久| 91污在线观看| 51午夜精品国产| 国产午夜亚洲精品羞羞网站| 一区二区三区色| 久久99精品久久久久久久久久久久| 国产成人啪免费观看软件| 91色.com| 国产亚洲精品超碰| 久久久久久亚洲综合影院红桃| 欧美精品自拍偷拍动漫精品| 欧美电影影音先锋| 在线不卡一区二区| 91精品国产91综合久久蜜臀| 欧美巨大另类极品videosbest | 日本久久一区二区| 一本一道综合狠狠老| 欧美伊人精品成人久久综合97| 欧美性猛交xxxxxxxx| 欧美精品1区2区| 欧美一区二区三区爱爱| 91精品久久久久久久91蜜桃| 欧美一区在线视频| 精品久久久久久久人人人人传媒 | 亚洲国产视频一区二区| 亚洲成人动漫在线免费观看| 免费一级欧美片在线观看| 韩国在线一区二区| 成人毛片视频在线观看| 色综合久久六月婷婷中文字幕| 欧美日韩国产综合一区二区| 日韩欧美国产三级| 中文字幕一区二区视频| 亚洲一区二区在线视频| 蜜臀91精品一区二区三区| 国产a精品视频| 欧美色电影在线| 久久嫩草精品久久久久| 伊人色综合久久天天人手人婷| 日本免费新一区视频| 成人亚洲一区二区一| 欧美精三区欧美精三区| 国产人成一区二区三区影院| 亚洲激情av在线| 国内精品视频666| 欧洲人成人精品| 精品国产一区二区亚洲人成毛片| 中文字幕日本不卡| 久久不见久久见中文字幕免费| 91在线精品一区二区三区| 亚洲精品在线网站| 一区二区三区欧美在线观看| 久久99精品久久久久久动态图 |