高手快帮忙,CLOB字段问题 。。。。 晕倒,刚学jsp帮不上啊,帮你找个人看看 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 好的,热心人 :) 我的代码如下:<%Class.forName("oracle.jdbc.driver.OracleDriver");DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());String url="jdbc:oracle:thin:@192.168.0.1:1521:test";Connection conn=DriverManager.getConnection(url,"test","test");Statement stmt = conn.createStatement();ResultSet rs = null; conn.setAutoCommit(false); //* String sql = "insert into test2 values(1, empty_clob())"; stmt.executeUpdate(sql); conn.commit(); //* sql = "select content from test2 where id=1 for update"; rs = stmt.executeQuery(sql); if (rs.next()) { CLOB clob = ((OracleResultSet)rs).getCLOB(1); clob.putString(1, "5564656456546546546456"); out.println(clob); sql = "update test2 set content=? where id=1" ; PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setClob(1,clob); //********这里有错误 pstmt.executeUpdate(); pstmt.close(); } rs.close(); %>异常错误如下:C:\Tomcat\work\Standalone\localhost\_\test_jsp.java:114: setClob(int,java.sql.Clob) in java.sql.PreparedStatement cannot be applied to (int,oracle.sql.CLOB) pstmt.setClob(1,clob); 我这样做也不对:pstmt.setClob(1,(java.sql.Clob)clob);高手请指教 :) :) 多谢多谢 Statement stmt = conn.createStatement();把上面的改为Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);加两个参数就可以把记录集返回给数据库了! 多谢了 :)可是 .... 修改成你说得那样了,还是不对,错误信息没变,关键是 java.sql.PreparedStatement 的参数类型不对,你说的那个是修改记录集的指针属性的啊,再帮我想想 ...... :) 请教一个数据库查询语句 blob字段设计 sql语句问题,请进(在线) 请问如何计算多个表中的总记录数,并得出占多少字节。 Windows 2008 r2+11g grid 安装失败,再不解决就失业啦 ORACLE中如何创建临时表???(在线等待) 帮忙推荐几本好的sql书 Oracle中如何让某用户只可访问指定方案? oracle文件系统增长速度很快,该怎么办?很急啊! 寻找ORACLE源代码 为什么oms服务无法启动?我好郁闷好郁闷啊,请大家帮忙? 高分求oracle9i下载!
Class.forName("oracle.jdbc.driver.OracleDriver");
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
String url="jdbc:oracle:thin:@192.168.0.1:1521:test";
Connection conn=DriverManager.getConnection(url,"test","test");
Statement stmt = conn.createStatement();
ResultSet rs = null; conn.setAutoCommit(false); //*
String sql = "insert into test2 values(1, empty_clob())";
stmt.executeUpdate(sql);
conn.commit(); //*
sql = "select content from test2 where id=1 for update";
rs = stmt.executeQuery(sql);
if (rs.next()) {
CLOB clob = ((OracleResultSet)rs).getCLOB(1);
clob.putString(1, "5564656456546546546456");
out.println(clob);
sql = "update test2 set content=? where id=1" ;
PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setClob(1,clob); //********这里有错误 pstmt.executeUpdate();
pstmt.close();
}
rs.close();
%>异常错误如下:C:\Tomcat\work\Standalone\localhost\_\test_jsp.java:114: setClob(int,java.sql.Clob) in java.sql.PreparedStatement cannot be applied to (int,oracle.sql.CLOB)
pstmt.setClob(1,clob);
我这样做也不对:pstmt.setClob(1,(java.sql.Clob)clob);
高手请指教 :) :) 多谢多谢
把上面的改为
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);加两个参数就可以把记录集返回给数据库了!
可是 .... 修改成你说得那样了,还是不对,错误信息没变,关键是 java.sql.PreparedStatement 的参数类型不对,你说的那个是修改记录集的指针属性的啊,再帮我想想 ...... :)