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

📄 traversal.java

📁 SearchPathServer
💻 JAVA
字号:
/**
 * Tests the ResultSet traversal methods
 */
package testsuite;

import java.sql.*;


public class Traversal
{
    //~ Instance/static variables .............................................

    Connection Conn = null;
    ResultSet RS = null;
    Statement Stmt = null;
    static String DBUrl = "jdbc:mysql:///test";

    //~ Constructors ..........................................................

    /**
     * Creates a new Traversal object.
     * 
     * @throws Exception DOCUMENT ME!
     */
    public Traversal()
              throws Exception
    {
        try {
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            Conn = DriverManager.getConnection(DBUrl);
            Stmt = Conn.createStatement();
            System.out.print("Create test data: ");

            boolean create_ok = createTestData();
            System.out.println(create_ok ? "passed" : "failed");
            System.out.println("Selecting Rows");
            RS = Stmt.executeQuery("SELECT * FROM TRAVERSAL ORDER BY pos");

            int count = 0;
            System.out.println("Positioning before start of result set");
            RS.beforeFirst();
            System.out.print("Traversing forward: ");

            boolean forward_ok = true;

            while (RS.next()) {
                int pos = RS.getInt("POS");

                // test case-sensitive column names
                pos = RS.getInt("pos");
                pos = RS.getInt("Pos");
                pos = RS.getInt("POs");
                pos = RS.getInt("PoS");
                pos = RS.getInt("pOS");
                pos = RS.getInt("pOs");
                pos = RS.getInt("poS");

                if (pos == count) {

                    //System.out.print("+");
                } else {

                    //System.out.print("-");
                    forward_ok = false;
                }

                count++;
            }
            //System.out.println();
            if (forward_ok) {
                System.out.println("OK");
            } else {
                System.out.println("FAILED! Only traversed " + count + 
                                   "/100 rows");
            }

            boolean isAfterLast = RS.isAfterLast();
            System.out.println("Checking ResultSet.isAfterLast(): " + 
                               (isAfterLast ? "OK" : "FAILED!"));
            System.out.print("Positioning after end of result set: ");

            try {
                RS.afterLast();
                System.out.println("OK");
            } catch (SQLException E) {
                System.out.println("FAILED! (" + E.toString() + ")");
            }

            System.out.print("Scrolling backwards: ");
            count = 99;

            boolean reverse_ok = true;

            while (RS.previous()) {
                int pos = RS.getInt("pos");

                if (pos == count) {

                    //System.out.print("+");
                } else {

                    //System.out.print("-");
                    reverse_ok = false;
                }

                count--;
            }
            if (reverse_ok) {
                System.out.println("OK");
            } else {
                System.out.println("FAILED!");
            }

            boolean is_first = RS.isFirst();
            System.out.println("Checking ResultSet.isFirst(): " + 
                               (is_first ? "OK" : "FAILED!"));
            System.out.println("Absolute positioning");
            RS.absolute(50);

            int pos = RS.getInt("pos");
            System.out.println(pos);

            boolean on_result_set = RS.absolute(200);
            System.out.println(on_result_set);
            System.out.println(RS.isAfterLast());
            RS.absolute(100);
            System.out.println(RS.getInt("pos"));
            System.out.println(RS.isLast());
            RS.absolute(-99);
            System.out.println(RS.getInt("pos"));
        } catch (SQLException E) {
            throw E;
        } finally {
            if (RS != null) {
                try {
                    RS.close();
                } catch (SQLException SQLE) {
                }
            }
            if (Stmt != null) {
                try {
                    Stmt.close();
                } catch (SQLException SQLE) {
                }
            }
            if (Conn != null) {
                try {
                    Conn.close();
                } catch (SQLException SQLE) {
                }
            }
        }
    }
    //~ Methods ...............................................................

    /**
     * DOCUMENT ME!
     * 
     * @param Args DOCUMENT ME!
     * @throws Exception DOCUMENT ME!
     */
    public static void main(String[] Args)
                     throws Exception
    {
        Traversal T = new Traversal();
    }

    private boolean createTestData()
                            throws java.sql.SQLException
    {
        try {

            //
            // Catch the error, the table might exist
            //
            try {
                Stmt.executeUpdate("DROP TABLE TRAVERSAL");
            } catch (SQLException SQLE) {
            }

            Stmt.executeUpdate("CREATE TABLE TRAVERSAL (pos int PRIMARY KEY, stringdata char(32))");

            for (int i = 0; i < 100; i++) {
                Stmt.executeUpdate("INSERT INTO TRAVERSAL VALUES (" + i + 
                                   ", 'StringData')");
            }
        } catch (SQLException E) {
            E.printStackTrace();

            return false;
        }

        return true;
    }
}
;

⌨️ 快捷键说明

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