⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 simplemobileapp.java

📁 jsp级联下拉菜单
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
            ps.setString(2, "Grand Ave.");
            ps.setInt(3, 1956);
            ps.executeUpdate();
            System.out.println("Updated 1956 Webster to 180 Grand");

            // update another row...
            ps.setInt(1, 300);
            ps.setString(2, "Lakeshore Ave.");
            ps.setInt(3, 180);
            ps.execute();
            System.out.println("Updated 180 Grand to 300 Lakeshore");

            // Select the rows and verify some of the results...
            rs = s.executeQuery("SELECT num, addr FROM streetaddr ORDER BY num");

            // Verification: Number of rows and sorted contents of the num column
            boolean correctResults = true;
            if (!rs.next())
            {
                System.err.println("No rows in table! (ResultSet was empty)");
                correctResults = false;
            } else {
                int num;
                int rows = 0;
                do {
                    rows++;
                    num = rs.getInt(1);
                    if ((rows == 1) && (num != 300)) {
                        System.err.println("Wrong first row returned! "
                                + "Expected num = 300, but got " + num);
                        correctResults = false;
                    } else if ((rows == 2) && (num != 1910)) {
                        System.err.println("Wrong second row returned! "
                        + "Expected num = 1910, but got " + num);
                        correctResults = false;
                    }
                } while (rs.next());
                if (rows !=2) {
                    System.err.println("Wrong number of rows in ResultSet "
                        + "(streetaddr table): " + rows);
                    correctResults = false;
                }
            }

            if (correctResults) {
                System.out.println("Verified the rows");
            } else {
                System.out.println("Verification failed: Wrong results!");
            }

            /* This demo automatically drops the table. This way the demo can
             * be run the same way multiple times. If you want the data to
             * stay in the database, comment out the following Statement
             * execution and recompile the class.
             */
            s.execute("drop table streetaddr");
            System.out.println("Dropped table streetaddr");
            
            // shut down the database
            /* In embedded mode, an application should shut down the database.
             * If the application fails to shut down the database explicitly,
             * the Derby does not perform a checkpoint when the JVM shuts down, 
             * which means that the next connection will be slower because
             * Derby has to perform recovery operations.
             * Explicitly shutting down the database using the appropriate 
             * data source property is recommended.
             * This style of shutdown will always throw an SQLException, but in
             * this case the exception is (usually) not an indication that 
             * something went wrong.
             */
             try {
                 ds.setShutdownDatabase("shutdown");
                 ds.getConnection();
             } catch (SQLException se) {
                 if (!( (se.getErrorCode() == 45000) 
                         && ("08006".equals(se.getSQLState()) ))) {
                    // if the error code or SQLState is different, we have an
                    // unexpected exception (shutdown failed)
                    printSQLException(se);
                    se.printStackTrace();
                 } else {
                     System.out.println(dbName + " shut down successfully");
                 }
             }

        } catch (SQLException e) {
            printSQLException(e);
        } finally {
            // release all open resources to avoid unnecessary memory usage
            
            // ResultSet
            try {
                if (rs != null) {
                    rs.close();
                    rs = null;
                }
            } catch (SQLException sqle) {
                printSQLException(sqle);
            }
            
            // Statement
            try {
                if (s != null) {
                    s.close();
                    s = null;
                }
            } catch (SQLException sqle) {
                printSQLException(sqle);
            }
            
            //PreparedStatement
            try {
                if (ps != null) {
                    ps.close();
                    ps = null;
                }
            } catch (SQLException sqle) {
                printSQLException(sqle);
            }

            //Connection
            try {
                if (conn != null) {
                    conn.close();
                    conn = null;
                }
            } catch (SQLException sqle) {
                printSQLException(sqle);
            }
        }
    }
    
    /**
     * Prints information about an SQLException to System.err.
     * Use this information to debug the problem.
     * 
     * @param e Some SQLException which info should be printed
     */
    public static void printSQLException(SQLException e) {

        do {
            System.err.println("\n----- SQLException caught: -----");
            System.err.println("  SQLState:   " + e.getSQLState());
            System.err.println("  Error Code: " + e.getErrorCode());
            System.err.println("  Message:    " + e.getMessage());
            //e.printStackTrace(System.err); // enable and recompile to get more info
            System.err.println();
            e = e.getNextException();
        } while (e != null);
    }
    
   /**
    * Checks if this Java Virtual Machine includes support for the JDBC optional
    * package for CDC platforms (JSR-169), or better (JDBC 3.0 or newer), by
    * checking the availability of classes or interfaces introduced in or
    * removed from specific versions of JDBC-related specifications.
    * 
    * @return true if the required JDBC support level is detected, false 
    *         otherwise.
    */
    public static boolean vmSupportsJSR169() {
        if (haveClass("java.sql.Savepoint")) {
            /* New in JDBC 3.0, and is also included in JSR-169.
             * JSR-169 is a subset of JDBC 3 which does not include the Driver 
             * interface.
             * See http://wiki.apache.org/db-derby/VersionInfo for details.
             */
            return true;
        } else {
            return false;
        }
    }
    
   /**
    * Checks if this JVM is able to load a specific class. May for instance
    * be used for determining the level of JDBC support available.
    * @param className Fully qualified name of class to attempt to load.
    * @return true if the class can be loaded, false otherwise.
    */
   private static boolean haveClass(String className) {
       try {
           Class.forName(className);
           return true;
       } catch (Exception e) {
           return false;
       }
   }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -