下面列出了java.sql.ResultSet#updateNClob ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Test(expected = SQLFeatureNotSupportedException.class)
public void assertUpdateNClobForColumnIndex() throws SQLException {
for (ResultSet each : resultSets) {
each.updateNClob(1, (NClob) null);
}
}
@Test(expected = SQLFeatureNotSupportedException.class)
public void assertUpdateNClobForColumnLabel() throws SQLException {
for (ResultSet each : resultSets) {
each.updateNClob("label", (NClob) null);
}
}
@Test(expected = SQLFeatureNotSupportedException.class)
public void assertUpdateNClobForColumnIndexWithInputStream() throws SQLException {
for (ResultSet each : resultSets) {
each.updateNClob(1, new StringReader(""));
}
}
@Test(expected = SQLFeatureNotSupportedException.class)
public void assertUpdateNClobForColumnLabelWithInputStream() throws SQLException {
for (ResultSet each : resultSets) {
each.updateNClob("label", new StringReader(""));
}
}
@Test(expected = SQLFeatureNotSupportedException.class)
public void assertUpdateNClobForColumnIndexWithInputStreamAndLength() throws SQLException {
for (ResultSet each : resultSets) {
each.updateNClob(1, new StringReader(""), 100);
}
}
@Test(expected = SQLFeatureNotSupportedException.class)
public void assertUpdateNClobForColumnLabelWithInputStreamAndLength() throws SQLException {
for (ResultSet each : resultSets) {
each.updateNClob("label", new StringReader(""), 100);
}
}
/**
* Tests for ResultSet.updateNClob()
*
* @throws Exception
*/
public void testUpdateNClob() throws Exception {
createTable("testUpdateNChlob", "(c1 CHAR(10) PRIMARY KEY, c2 NATIONAL CHARACTER(10)) default character set sjis");
Properties props1 = new Properties();
props1.put("useServerPrepStmts", "true"); // use server-side prepared statement
props1.put("characterEncoding", "UTF-8"); // ensure charset isn't utf8 here
Connection conn1 = getConnectionWithProps(props1);
PreparedStatement pstmt1 = conn1.prepareStatement("INSERT INTO testUpdateNChlob (c1, c2) VALUES (?, ?)");
pstmt1.setString(1, "1");
NClob nClob1 = conn1.createNClob();
nClob1.setString(1, "aaa");
pstmt1.setNClob(2, nClob1);
pstmt1.execute();
Statement stmt1 = conn1.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_UPDATABLE);
ResultSet rs1 = stmt1.executeQuery("SELECT c1, c2 FROM testUpdateNChlob");
rs1.next();
NClob nClob2 = conn1.createNClob();
nClob2.setString(1, "bbb");
rs1.updateNClob("c2", nClob2);
rs1.updateRow();
rs1.moveToInsertRow();
rs1.updateString("c1", "2");
NClob nClob3 = conn1.createNClob();
nClob3.setString(1, "ccc");
rs1.updateNClob("c2", nClob3);
rs1.insertRow();
ResultSet rs2 = stmt1.executeQuery("SELECT c1, c2 FROM testUpdateNChlob");
rs2.next();
assertEquals("1", rs2.getString("c1"));
assertEquals("bbb", rs2.getNString("c2"));
rs2.next();
assertEquals("2", rs2.getString("c1"));
assertEquals("ccc", rs2.getNString("c2"));
pstmt1.close();
stmt1.close();
conn1.close();
createTable("testUpdateNChlob", "(c1 CHAR(10) PRIMARY KEY, c2 CHAR(10)) default character set sjis"); // sjis field
Properties props2 = new Properties();
props2.put("useServerPrepStmts", "true"); // use server-side prepared statement
props2.put("characterEncoding", "SJIS"); // ensure charset isn't utf8 here
Connection conn2 = getConnectionWithProps(props2);
PreparedStatement pstmt2 = conn2.prepareStatement("INSERT INTO testUpdateNChlob (c1, c2) VALUES (?, ?)");
pstmt2.setString(1, "1");
pstmt2.setString(2, "aaa");
pstmt2.execute();
Statement stmt2 = conn2.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_UPDATABLE);
ResultSet rs3 = stmt2.executeQuery("SELECT c1, c2 FROM testUpdateNChlob");
rs3.next();
NClob nClob4 = conn2.createNClob();
nClob4.setString(1, "bbb");
try {
rs3.updateNClob("c2", nClob4); // field's charset isn't utf8
fail();
} catch (SQLException ex) {
assertEquals("Can not call updateNClob() when field's character set isn't UTF-8", ex.getMessage());
}
rs3.close();
pstmt2.close();
stmt2.close();
conn2.close();
}
/**
* Tests for ResultSet.updateNClob()
*
* @throws Exception
*/
public void testUpdateNClob() throws Exception {
createTable("testUpdateNChlob", "(c1 CHAR(10) PRIMARY KEY, c2 NATIONAL CHARACTER(10)) default character set sjis");
Properties props1 = new Properties();
props1.put("useServerPrepStmts", "true"); // use server-side prepared statement
props1.put("characterEncoding", "UTF-8"); // ensure charset isn't utf8 here
Connection conn1 = getConnectionWithProps(props1);
PreparedStatement pstmt1 = conn1.prepareStatement("INSERT INTO testUpdateNChlob (c1, c2) VALUES (?, ?)");
pstmt1.setString(1, "1");
NClob nClob1 = conn1.createNClob();
nClob1.setString(1, "aaa");
pstmt1.setNClob(2, nClob1);
pstmt1.execute();
Statement stmt1 = conn1.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_UPDATABLE);
ResultSet rs1 = stmt1.executeQuery("SELECT c1, c2 FROM testUpdateNChlob");
rs1.next();
NClob nClob2 = conn1.createNClob();
nClob2.setString(1, "bbb");
rs1.updateNClob("c2", nClob2);
rs1.updateRow();
rs1.moveToInsertRow();
rs1.updateString("c1", "2");
NClob nClob3 = conn1.createNClob();
nClob3.setString(1, "ccc");
rs1.updateNClob("c2", nClob3);
rs1.insertRow();
ResultSet rs2 = stmt1.executeQuery("SELECT c1, c2 FROM testUpdateNChlob");
rs2.next();
assertEquals("1", rs2.getString("c1"));
assertEquals("bbb", rs2.getNString("c2"));
rs2.next();
assertEquals("2", rs2.getString("c1"));
assertEquals("ccc", rs2.getNString("c2"));
pstmt1.close();
stmt1.close();
conn1.close();
createTable("testUpdateNChlob", "(c1 CHAR(10) PRIMARY KEY, c2 CHAR(10)) default character set sjis"); // sjis field
Properties props2 = new Properties();
props2.put("useServerPrepStmts", "true"); // use server-side prepared statement
props2.put("characterEncoding", "SJIS"); // ensure charset isn't utf8 here
Connection conn2 = getConnectionWithProps(props2);
PreparedStatement pstmt2 = conn2.prepareStatement("INSERT INTO testUpdateNChlob (c1, c2) VALUES (?, ?)");
pstmt2.setString(1, "1");
pstmt2.setString(2, "aaa");
pstmt2.execute();
Statement stmt2 = conn2.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_UPDATABLE);
ResultSet rs3 = stmt2.executeQuery("SELECT c1, c2 FROM testUpdateNChlob");
rs3.next();
NClob nClob4 = conn2.createNClob();
nClob4.setString(1, "bbb");
try {
rs3.updateNClob("c2", nClob4); // field's charset isn't utf8
fail();
} catch (SQLException ex) {
assertEquals("Can not call updateNClob() when field's character set isn't UTF-8", ex.getMessage());
}
rs3.close();
pstmt2.close();
stmt2.close();
conn2.close();
}
@Test(expected = SQLFeatureNotSupportedException.class)
public void assertUpdateNClobForColumnIndex() throws SQLException {
for (ResultSet each : resultSets) {
each.updateNClob(1, (NClob) null);
}
}
@Test(expected = SQLFeatureNotSupportedException.class)
public void assertUpdateNClobForColumnLabel() throws SQLException {
for (ResultSet each : resultSets) {
each.updateNClob("label", (NClob) null);
}
}
@Test(expected = SQLFeatureNotSupportedException.class)
public void assertUpdateNClobForColumnIndexWithInputStream() throws SQLException {
for (ResultSet each : resultSets) {
each.updateNClob(1, new StringReader(""));
}
}
@Test(expected = SQLFeatureNotSupportedException.class)
public void assertUpdateNClobForColumnLabelWithInputStream() throws SQLException {
for (ResultSet each : resultSets) {
each.updateNClob("label", new StringReader(""));
}
}
@Test(expected = SQLFeatureNotSupportedException.class)
public void assertUpdateNClobForColumnIndexWithInputStreamAndLength() throws SQLException {
for (ResultSet each : resultSets) {
each.updateNClob(1, new StringReader(""), 100);
}
}
@Test(expected = SQLFeatureNotSupportedException.class)
public void assertUpdateNClobForColumnLabelWithInputStreamAndLength() throws SQLException {
for (ResultSet each : resultSets) {
each.updateNClob("label", new StringReader(""), 100);
}
}
/**
* Tests for ResultSet.updateNClob()
*
* @throws Exception
*/
public void testUpdateNClob() throws Exception {
createTable("testUpdateNChlob", "(c1 CHAR(10) PRIMARY KEY, c2 NATIONAL CHARACTER(10)) default character set sjis");
Properties props1 = new Properties();
props1.setProperty(PropertyKey.useServerPrepStmts.getKeyName(), "true"); // use server-side prepared statement
props1.setProperty(PropertyKey.characterEncoding.getKeyName(), "UTF-8"); // ensure charset isn't utf8 here
Connection conn1 = getConnectionWithProps(props1);
PreparedStatement pstmt1 = conn1.prepareStatement("INSERT INTO testUpdateNChlob (c1, c2) VALUES (?, ?)");
pstmt1.setString(1, "1");
NClob nClob1 = conn1.createNClob();
nClob1.setString(1, "aaa");
pstmt1.setNClob(2, nClob1);
pstmt1.execute();
Statement stmt1 = conn1.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_UPDATABLE);
ResultSet rs1 = stmt1.executeQuery("SELECT c1, c2 FROM testUpdateNChlob");
rs1.next();
NClob nClob2 = conn1.createNClob();
nClob2.setString(1, "bbb");
rs1.updateNClob("c2", nClob2);
rs1.updateRow();
rs1.moveToInsertRow();
rs1.updateString("c1", "2");
NClob nClob3 = conn1.createNClob();
nClob3.setString(1, "ccc");
rs1.updateNClob("c2", nClob3);
rs1.insertRow();
ResultSet rs2 = stmt1.executeQuery("SELECT c1, c2 FROM testUpdateNChlob");
rs2.next();
assertEquals("1", rs2.getString("c1"));
assertEquals("bbb", rs2.getNString("c2"));
rs2.next();
assertEquals("2", rs2.getString("c1"));
assertEquals("ccc", rs2.getNString("c2"));
pstmt1.close();
stmt1.close();
conn1.close();
createTable("testUpdateNChlob", "(c1 CHAR(10) PRIMARY KEY, c2 CHAR(10)) default character set sjis"); // sjis field
Properties props2 = new Properties();
props2.setProperty(PropertyKey.useServerPrepStmts.getKeyName(), "true"); // use server-side prepared statement
props2.setProperty(PropertyKey.characterEncoding.getKeyName(), "SJIS"); // ensure charset isn't utf8 here
Connection conn2 = getConnectionWithProps(props2);
PreparedStatement pstmt2 = conn2.prepareStatement("INSERT INTO testUpdateNChlob (c1, c2) VALUES (?, ?)");
pstmt2.setString(1, "1");
pstmt2.setString(2, "aaa");
pstmt2.execute();
Statement stmt2 = conn2.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_UPDATABLE);
ResultSet rs3 = stmt2.executeQuery("SELECT c1, c2 FROM testUpdateNChlob");
rs3.next();
NClob nClob4 = conn2.createNClob();
nClob4.setString(1, "bbb");
try {
rs3.updateNClob("c2", nClob4); // field's charset isn't utf8
fail();
} catch (SQLException ex) {
assertEquals("Can not call updateNClob() when field's character set isn't UTF-8", ex.getMessage());
}
rs3.close();
pstmt2.close();
stmt2.close();
conn2.close();
}