本文整理汇总了Java中java.sql.PreparedStatement.setNCharacterStream方法的典型用法代码示例。如果您正苦于以下问题:Java PreparedStatement.setNCharacterStream方法的具体用法?Java PreparedStatement.setNCharacterStream怎么用?Java PreparedStatement.setNCharacterStream使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类java.sql.PreparedStatement
的用法示例。
在下文中一共展示了PreparedStatement.setNCharacterStream方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: testSetNCharacterStreamServer
import java.sql.PreparedStatement; //导入方法依赖的package包/类
/**
* Tests for ServerPreparedStatement.setNCharacterSteam()
*
* @throws Exception
*/
public void testSetNCharacterStreamServer() throws Exception {
createTable("testSetNCharacterStreamServer", "(c1 NATIONAL CHARACTER(10)) ENGINE=InnoDB");
Properties props1 = new Properties();
props1.put("useServerPrepStmts", "true"); // use server-side prepared statement
props1.put("useUnicode", "true");
props1.put("characterEncoding", "latin1"); // ensure charset isn't utf8 here
Connection conn1 = getConnectionWithProps(props1);
PreparedStatement pstmt1 = conn1.prepareStatement("INSERT INTO testSetNCharacterStreamServer (c1) VALUES (?)");
try {
pstmt1.setNCharacterStream(1, new StringReader("aaa"), 3);
fail();
} catch (SQLException e) {
// ok
assertEquals("Can not call setNCharacterStream() when connection character set isn't UTF-8", e.getMessage());
}
pstmt1.close();
conn1.close();
createTable("testSetNCharacterStreamServer", "(c1 LONGTEXT charset utf8) ENGINE=InnoDB");
Properties props2 = new Properties();
props2.put("useServerPrepStmts", "true"); // use server-side prepared statement
props2.put("useUnicode", "true");
props2.put("characterEncoding", "UTF-8"); // ensure charset is utf8 here
Connection conn2 = getConnectionWithProps(props2);
PreparedStatement pstmt2 = conn2.prepareStatement("INSERT INTO testSetNCharacterStreamServer (c1) VALUES (?)");
pstmt2.setNCharacterStream(1, new StringReader(new String(new char[81921])), 81921); // 10 Full Long Data Packet's chars + 1 char
pstmt2.execute();
ResultSet rs2 = this.stmt.executeQuery("SELECT c1 FROM testSetNCharacterStreamServer");
rs2.next();
assertEquals(new String(new char[81921]), rs2.getString(1));
rs2.close();
pstmt2.close();
conn2.close();
}
示例2: testUpdateNCharacterStream
import java.sql.PreparedStatement; //导入方法依赖的package包/类
/**
* Tests for ResultSet.updateNCharacterStream()
*
* @throws Exception
*/
public void testUpdateNCharacterStream() throws Exception {
createTable("testUpdateNCharacterStream", "(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 testUpdateNCharacterStream (c1, c2) VALUES (?, ?)");
pstmt1.setString(1, "1");
pstmt1.setNCharacterStream(2, new StringReader("aaa"), 3);
pstmt1.execute();
Statement stmt1 = conn1.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_UPDATABLE);
ResultSet rs1 = stmt1.executeQuery("SELECT c1, c2 FROM testUpdateNCharacterStream");
rs1.next();
rs1.updateNCharacterStream("c2", new StringReader("bbb"), 3);
rs1.updateRow();
rs1.moveToInsertRow();
rs1.updateString("c1", "2");
rs1.updateNCharacterStream("c2", new StringReader("ccc"), 3);
rs1.insertRow();
ResultSet rs2 = stmt1.executeQuery("SELECT c1, c2 FROM testUpdateNCharacterStream");
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("testUpdateNCharacterStream", "(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 testUpdateNCharacterStream (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 testUpdateNCharacterStream");
rs3.next();
try {
rs3.updateNCharacterStream("c2", new StringReader("bbb"), 3); // field's charset isn't utf8
fail();
} catch (SQLException ex) {
assertEquals("Can not call updateNCharacterStream() when field's character set isn't UTF-8", ex.getMessage());
}
rs3.close();
pstmt2.close();
stmt2.close();
conn2.close();
}