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

📄 lobtest.java

📁 第三方的SQL Server and Sybase的jdbc dirver,速度更快
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
        Statement stmt3 = con.createStatement();        ResultSet rs2 = stmt3.executeQuery("SELECT data FROM #clobset6");        assertTrue(rs2.next());        // Test ResultSet.getString()        assertTrue(data.equals(rs2.getString(1)));        assertFalse(rs2.next());        stmt3.close();        rs2.close();    }    public void testClobSet7() throws Exception {        String data = getClobTestData();        Statement stmt = con.createStatement();        stmt.execute("CREATE TABLE #clobset7 (data TEXT)");        stmt.close();        PreparedStatement pstmt = con.prepareStatement("INSERT INTO #clobset7 (data) VALUES (?)");        // Test PreparedStatement.setObject(int,String,int)        pstmt.setObject(1, data, Types.LONGVARCHAR);        assertEquals(pstmt.executeUpdate(), 1);        pstmt.close();        Statement stmt2 = con.createStatement();        ResultSet rs = stmt2.executeQuery("SELECT data FROM #clobset7");        assertTrue(rs.next());        // Test ResultSet.getString()        assertTrue(data.equals(rs.getString(1)));        assertFalse(rs.next());        stmt2.close();        rs.close();    }    public void testClobSet8() throws Exception {        String data = getClobTestData();        Statement stmt = con.createStatement();        stmt.execute("CREATE TABLE #clobset8 (data TEXT)");        stmt.close();        PreparedStatement pstmt = con.prepareStatement("INSERT INTO #clobset8 (data) VALUES (?)");        // Test PreparedStatement.setString()        pstmt.setString(1, data);        assertEquals(1, pstmt.executeUpdate());        pstmt.close();        Statement stmt2 = con.createStatement();        ResultSet rs = stmt2.executeQuery("SELECT data FROM #clobset8");        assertTrue(rs.next());        Clob clob = rs.getClob(1);        data = getNewClobTestData();        // Test Clob.setBytes()        clob.setString(1, data);        assertTrue(data.equals(clob.getSubString(1L, (int) clob.length())));        assertFalse(rs.next());        PreparedStatement pstmt2 = con.prepareStatement("UPDATE #clobset8 SET data = ?");        // Test PreparedStatement.setObject(int,Clob,int)        pstmt2.setObject(1, clob, Types.CLOB);        assertEquals(1, pstmt2.executeUpdate());        pstmt2.close();        stmt2.close();        rs.close();        Statement stmt3 = con.createStatement();        ResultSet rs2 = stmt3.executeQuery("SELECT data FROM #clobset8");        assertTrue(rs2.next());        // Test ResultSet.getString()        assertTrue(data.equals(rs2.getString(1)));        assertFalse(rs2.next());        stmt3.close();        rs2.close();    }    public void testClobUpdate1() throws Exception {        String data = getClobTestData();        Statement stmt = con.createStatement();        stmt.execute("CREATE TABLE #clobupdate1 (id NUMERIC IDENTITY, data TEXT, "                     + "CONSTRAINT pk_clobupdate1 PRIMARY KEY CLUSTERED (id))");        stmt.close();        stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);        ResultSet rs = stmt.executeQuery("SELECT id, data FROM #clobupdate1");        rs.moveToInsertRow();        // Test ResultSet.updateString()        rs.updateString(2, data);        rs.insertRow();        stmt.close();        rs.close();        Statement stmt2 = con.createStatement();        ResultSet rs2 = stmt2.executeQuery("SELECT data FROM #clobupdate1");        assertTrue(rs2.next());        // Test ResultSet.getString()        assertTrue(data.equals(rs2.getString(1)));        assertFalse(rs2.next());        stmt2.close();        rs2.close();    }    public void testClobUpdate2() throws Exception {        String data = getClobTestData();        Statement stmt = con.createStatement();        stmt.execute("CREATE TABLE #clobupdate2 (id NUMERIC IDENTITY, data TEXT, "                     + "CONSTRAINT pk_clobupdate2 PRIMARY KEY CLUSTERED (id))");        stmt.close();        stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);        ResultSet rs = stmt.executeQuery("SELECT id, data FROM #clobupdate2");        rs.moveToInsertRow();        // Test ResultSet.updateAsciiStream()        rs.updateAsciiStream(2, new ByteArrayInputStream(data.getBytes("ASCII")), data.length());        rs.insertRow();        stmt.close();        rs.close();        Statement stmt2 = con.createStatement();        ResultSet rs2 = stmt2.executeQuery("SELECT data FROM #clobupdate2");        assertTrue(rs2.next());        // Test ResultSet.getString()        assertTrue(data.equals(rs2.getString(1)));        assertFalse(rs2.next());        stmt2.close();        rs2.close();    }    public void testClobUpdate3() throws Exception {        String data = getClobTestData();        Statement stmt = con.createStatement();        stmt.execute("CREATE TABLE #clobupdate3 (id NUMERIC IDENTITY, data TEXT, "                     + "CONSTRAINT pk_clobupdate3 PRIMARY KEY CLUSTERED (id))");        stmt.close();        stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);        ResultSet rs = stmt.executeQuery("SELECT id, data FROM #clobupdate3");        rs.moveToInsertRow();        // Test ResultSet.updateCharacterStream()        rs.updateCharacterStream(2, new StringReader(data), data.length());        rs.insertRow();        stmt.close();        rs.close();        Statement stmt2 = con.createStatement();        ResultSet rs2 = stmt2.executeQuery("SELECT data FROM #clobupdate3");        assertTrue(rs2.next());        // Test ResultSet.getString()        assertTrue(data.equals(rs2.getString(1)));        assertFalse(rs2.next());        stmt2.close();        rs2.close();    }    public void testClobUpdate4() throws Exception {        String data = getClobTestData();        Statement stmt = con.createStatement();        stmt.execute("CREATE TABLE #clobupdate4 (id NUMERIC IDENTITY, data TEXT, "                     + "CONSTRAINT pk_clobupdate4 PRIMARY KEY CLUSTERED (id))");        stmt.close();        PreparedStatement pstmt = con.prepareStatement("INSERT INTO #clobupdate4 (data) VALUES (?)");        // Test PreparedStatement.setString()        pstmt.setString(1, data);        assertEquals(1, pstmt.executeUpdate());        pstmt.close();        Statement stmt2 = con.createStatement();        ResultSet rs = stmt2.executeQuery("SELECT data FROM #clobupdate4");        assertTrue(rs.next());        Clob clob = rs.getClob(1);        data = getNewClobTestData();        // Test Clob.setBytes()        clob.setString(1, data);        assertTrue(data.equals(clob.getSubString(1, (int) clob.length())));        assertFalse(rs.next());        Statement stmt3 = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);        ResultSet rs2 = stmt3.executeQuery("SELECT id, data FROM #clobupdate4");        assertTrue(rs2.next());        // Test ResultSet.updateClob()        rs2.updateClob(2, clob);        rs2.updateRow();        assertFalse(rs2.next());        stmt2.close();        rs.close();        stmt3.close();        rs2.close();        Statement stmt4 = con.createStatement();        ResultSet rs3 = stmt4.executeQuery("SELECT data FROM #clobupdate4");        assertTrue(rs3.next());        // Test ResultSet.getString()        assertTrue(data.equals(rs3.getString(1)));        assertFalse(rs3.next());        stmt4.close();        rs3.close();    }    public void testClobUpdate5() throws Exception {        String data = getClobTestData();        Statement stmt = con.createStatement();        stmt.execute("CREATE TABLE #clobupdate5 (id NUMERIC IDENTITY, data TEXT, "                     + "CONSTRAINT pk_clobupdate5 PRIMARY KEY CLUSTERED (id))");        stmt.close();        PreparedStatement pstmt = con.prepareStatement("INSERT INTO #clobupdate5 (data) VALUES (?)");        // Test PreparedStatement.setString()        pstmt.setString(1, data);        assertEquals(1, pstmt.executeUpdate());        pstmt.close();        Statement stmt2 = con.createStatement();        ResultSet rs = stmt2.executeQuery("SELECT data FROM #clobupdate5");        assertTrue(rs.next());        Clob clob = rs.getClob(1);        data = getNewClobTestData();        // Test Clob.setBytes()        clob.setString(1, data);        assertTrue(data.equals(clob.getSubString(1, (int) clob.length())));        assertFalse(rs.next());        Statement stmt3 = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);        ResultSet rs2 = stmt3.executeQuery("SELECT id, data FROM #clobupdate5");        assertTrue(rs2.next());        // Test ResultSet.updateClob()        rs2.updateClob(2, clob);        rs2.updateRow();        assertFalse(rs2.next());        stmt2.close();        rs.close();        stmt3.close();        rs2.close();        Statement stmt4 = con.createStatement();        ResultSet rs3 = stmt4.executeQuery("SELECT data FROM #clobupdate5");        assertTrue(rs3.next());        // Test ResultSet.getString()        assertTrue(data.equals(rs3.getString(1)));        assertFalse(rs3.next());        stmt4.close();        rs3.close();    }    /**     * Test long <code>Clob</code> manipulation including indexed writes.     */    public void testClobUpdate6() throws Exception {        int size = 100000;        StringBuffer data = new StringBuffer(size);        for (int i = 0; i < size; i++) {            data.append((char)('A'+i%10));        }        //        // Construct a clob        //        Statement stmt = con.createStatement();        ResultSet rs = stmt.executeQuery("SELECT ''");        assertNotNull(rs);        assertTrue(rs.next());        Clob clob = rs.getClob(1);        clob.setString(1, data.toString());        assertEquals((long)size, clob.length());        assertTrue(data.toString().equals(clob.getSubString(1, (int)clob.length())));        clob.setString(10, "THIS IS A TEST");        data.replace(9, 23, "THIS IS A TEST");        assertEquals("THIS IS A TEST", clob.getSubString(10, 14));        assertTrue(compare(data.toString(), clob.getSubString(1, (int)clob.length())));        clob.truncate(23);        assertEquals("ABCDEFGHITHIS IS A TEST", clob.getSubString(1, 23));        OutputStream os = clob.setAsciiStream(1);        for (int i = 0; i < size; i++) {            os.write(data.charAt(i));        }        os.close();        assertEquals((long)size, clob.length());        assertTrue(data.toString().equals(clob.getSubString(1, (int)clob.length())));        InputStream is = clob.getAsciiStream();        int b;        int p = 0;        while ((b = is.read()) >= 0) {            if ((char)b != data.charAt(p++)) {                fail("Mismatch at " + p);            }        }        is.close();        assertTrue(p == size);        Reader rdr = clob.getCharacterStream();        p = 0;        while ((b = rdr.read()) >= 0) {            if ((char)b != data.charAt(p++)) {                fail("Mismatch at " + p);            }        }        rdr.close();        assertTrue(p == size);        clob.truncate(0);        Writer wtr = clob.setCharacterStream(1);        for (int i = 0; i < size; i++) {            wtr.write(data.charAt(i));        }        wtr.close();        assertTrue(p == size);        assertTrue(data.toString().equals(clob.getSubString(1, (int)clob.length())));        wtr = clob.setCharacterStream(10000);        for (int i = 0; i < 8; i++) {            wtr.write('X');        }        wtr.close();        data.replace(10000-1, 10000-1+8, "XXXXXXXX");        assertTrue(data.toString().equals(clob.getSubString(1, (int)clob.length())));        clob.setString(100001, "XTESTX", 1, 4);        assertEquals((long)100000+4, clob.length());        assertEquals("JTEST", clob.getSubString(100000, 8));        assertEquals(100000, clob.position("JTEST", 100000));        Clob clob2 = rs.getClob(1);        clob.setString(1, "XXXXXXXX");        assertEquals(10000, clob.position("XXXXXXXX", 10000));        assertFalse(10000 == clob.position("XXXXXXXX", 10001));    }    public void testClobSetNull1() throws Exception {        Statement stmt = con.createStatement();        stmt.execute("CREATE TABLE #clobsetnull1 (data TEXT NULL)");        stmt.close();        PreparedStatement pstmt = con.prepareStatement("INSERT INTO #clobsetnull1 (data) VALUES (?)");        // Test PreparedStatement.setAsciiStream()        pstmt.setAsciiStream(1, null, 0);        assertEquals(1, pstmt.executeUpdate());        pstmt.close();        Statement stmt2 = con.createStatement();        ResultSet rs = stmt2.executeQuery("SELECT data FROM #clobsetnull1");        assertTrue(rs.next());        // Test ResultSet.getAsciiStream()        assertNull(rs.getAsciiStream(1));        assertTrue(rs.wasNull());        // Test ResultSet.getCharacterStream()        assertNull(rs.getCharacterStream(1));        assertTrue(rs.wasNull());        // Test ResultSet.getClob()        assertNull(rs.get

⌨️ 快捷键说明

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