public void setNClob(int idx, NClob nclob) throws SQLException { try { addMementoEntry("setNClob", new Class[] {NClob.class}, idx, nclob); wrapped.setNClob(idx, nclob); } catch (SQLException e) { throw new UcanaccessSQLException(e); } }
public void setNClob(int idx, Reader reader, long length) throws SQLException { try { reader = markableReader(reader, length); addMementoEntry("setNClob", new Class[] {Reader.class, Long.TYPE}, idx, reader, length); wrapped.setNClob(idx, reader, length); resetReader(reader); } catch (SQLException e) { throw new UcanaccessSQLException(e); } }
public void setNClob(int parameterIndex, Reader reader) throws SQLException { String methodCall = "setNClob(" + parameterIndex + ", " + reader + ")"; argTraceSet(parameterIndex, "(Reader)", "<Reader>"); try { realPreparedStatement.setNClob(parameterIndex, reader); } catch (SQLException s) { reportException(methodCall, s); throw s; } reportReturn(methodCall); }
public void setNClob(int parameterIndex, NClob value) throws SQLException { String methodCall = "setNClob(" + parameterIndex + ", " + value + ")"; argTraceSet(parameterIndex, "(NClob)", "<NClob>"); try { realPreparedStatement.setNClob(parameterIndex, value); } catch (SQLException s) { reportException(methodCall, s); throw s; } reportReturn(methodCall); }
@Override protected void setNullSafeValue( PreparedStatement statement, NClob value, int index, Field field, Map<String, Object> options) throws SQLException { statement.setNClob(index, value); }
private void testClob(int length) throws Exception { Random r = new Random(length); char[] data = new char[length]; // Unicode problem: // The UCS code values 0xd800-0xdfff (UTF-16 surrogates) // as well as 0xfffe and 0xffff (UCS non-characters) // should not appear in conforming UTF-8 streams. // (String.getBytes("UTF-8") only returns 1 byte for 0xd800-0xdfff) for (int i = 0; i < length; i++) { char c; do { c = (char) r.nextInt(); } while (c >= 0xd800 && c <= 0xdfff); data[i] = c; } Clob c = conn.createClob(); Writer out = c.setCharacterStream(1); out.write(data, 0, data.length); out.close(); stat.execute("delete from test"); PreparedStatement prep = conn.prepareStatement("insert into test values(?, ?)"); prep.setInt(1, 1); prep.setClob(2, c); prep.execute(); c = conn.createClob(); c.setString(1, new String(data)); prep.setInt(1, 2); prep.setClob(2, c); prep.execute(); prep.setInt(1, 3); prep.setCharacterStream(2, new StringReader(new String(data))); prep.execute(); prep.setInt(1, 4); prep.setCharacterStream(2, new StringReader(new String(data)), -1); prep.execute(); NClob nc; nc = conn.createNClob(); nc.setString(1, new String(data)); prep.setInt(1, 5); prep.setNClob(2, nc); prep.execute(); prep.setInt(1, 5); prep.setNClob(2, new StringReader(new String(data))); prep.execute(); prep.setInt(1, 6); prep.setNClob(2, new StringReader(new String(data)), -1); prep.execute(); prep.setInt(1, 7); prep.setNString(2, new String(data)); prep.execute(); ResultSet rs; rs = stat.executeQuery("select * from test"); rs.next(); Clob c2 = rs.getClob(2); assertEquals(length, c2.length()); String s = c.getSubString(1, length); String s2 = c2.getSubString(1, length); while (rs.next()) { c2 = rs.getClob(2); assertEquals(length, c2.length()); s2 = c2.getSubString(1, length); assertEquals(s, s2); } }
public void setNClob(int parameterIndex, Reader reader) throws SQLException { delegate.setNClob(parameterIndex, reader); }
public void setNClob(int parameterIndex, NClob value) throws SQLException { delegate.setNClob(parameterIndex, value); }
@Override public void setNClob(int parameterIndex, Reader x, long length) throws SQLException { stmt.setNClob(parameterIndex, x, length); logValue(parameterIndex, x == null ? null : "<NClob>"); }
@Override public void setNClob(int parameterIndex, NClob x) throws SQLException { stmt.setNClob(parameterIndex, x); logValue(parameterIndex, x == null ? null : "<NClob>"); }