免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1336 | 回复: 0
打印 上一主题 下一主题

操作CLOB的疑问,请指教 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-09-15 10:27 |只看该作者 |倒序浏览
本人对数据库的clob类型进行修改的时候发现末尾的几个字符不能修改,而前面的可以修改。比如说123456789,我可以把它改为23456789,但是不能改为12345678。以下是操作CLOB的代码:
        <%@ page contentType="text/html; charset=GBK" language="java" import="java.sql.*" errorPage="" %>
        <%@ page import="util_struts.dbconn.DSB"%>
        <%@ page import="util_struts.dbconn.DSB,java.io.*,com.sd.util.ParamUtils"%>
        <%@ page import="com.sd.util.SysUtil,oracle.jdbc.*,java.sql.Clob,oracle.sql.CLOB" %>
        <%@ page import="com.sd.util.file.FileOperate" %>
        <%
        if(session.getAttribute("admin_ygbh")==null ||session.getAttribute("admin_ygbh").equals(""))
    {
        response.sendRedirect("/nopage.jsp");return;
    }
        Connection conn=null;
        Statement stmt=null;
        ResultSet rs=null;
        PreparedStatement pstmt=null,pp=null;
        String zid=request.getParameter("zid");
        String jdtplj=request.getParameter("jdtplj");
        String jdtpxx=request.getParameter("jdtpxx");
        String jdfjjj=request.getParameter("jdfjjj");
        String sfid=request.getParameter("sfid");
        System.out.println("sfid="+sfid);
        String csidxx=request.getParameter("csidxx");
        if(csidxx==null||csidxx.equals(""))
        {
         csidxx=sfid;
        }
         System.out.println("csidxx="+csidxx);
         java.sql.Clob clob=null;
         oracle.sql.CLOB oclob=null;
        try
        {
        System.out.println("111111111111111");
         String sql="update t_sj_zrfgxx set jdtplj='"+jdtplj+"',jdfjjj='"+jdfjjj+"',jddqxx='"+csidxx+"' where jdid00='"+zid+"'";
     conn=DSB.getConnection();
         conn.setAutoCommit(false);
     stmt = conn.createStatement();
         //pstmt=conn.prepareStatement(sql);
         System.out.println("222222222222");
         pstmt=conn.prepareStatement("select jdtpxx from t_sj_zrfgxx where jdid00=? for update");
         System.out.println("333333333333333");
         pstmt.setString(1,zid);
         System.out.println("444444444444444");
         rs=pstmt.executeQuery();
         System.out.println("555555555555555");
         if(rs.next())
         {
         oclob=(oracle.sql.CLOB)rs.getClob(1);
         System.out.println("66666666666666");
         }
         pstmt.close();
         pstmt=conn.prepareStatement("update t_sj_zrfgxx set jdtpxx=? where jdid00=?");
         System.out.println("7777777777");
         oclob.putString(1,jdtpxx);
         pstmt.setClob(1,oclob);
         pstmt.setString(2,zid);
         System.out.println("888888888888888888");
         pstmt.executeUpdate();
         pstmt.close();
         /*
         rs=stmt.executeQuery("select jdtpxx from t_sj_zrfgxx where jdid00='"+zid+"' for update");
         if(rs.next())
         {
          oracle.sql.CLOB oclob=(oracle.sql.CLOB)rs.getClob("jdtpxx");
          Writer outStream = oclob.getCharacterOutputStream();
        //data???????,??:String data
      char[] c = jdtpxx.toCharArray();
      outStream.write(c, 0, c.length);
          outStream.flush();
      outStream.close();
         }
         */
         stmt.execute(sql);
         conn.commit();
         out.print("<script>alert('????')</script>");
         out.print("<script>history.back(-1)</script>");
        }
        catch(SQLException se)
        {
        System.out.println("&cedil;ü&ETH;&Acirc;&Ecirc;&yacute;&frac34;&Yacute;&Ecirc;±&sup3;&ouml;&acute;í:"+se.toString());
        }
        catch(Exception ex)
        {
        System.out.println("&sup2;ú&Eacute;ú&Aacute;&Euml;&AElig;&auml;&Euml;&ucirc;&acute;í&Icirc;ó"+ex.toString());
        }
        finally
        {
         try
         {
         if(rs!=null)
           rs.close();
          if(stmt!=null)
           stmt.close();
          if(pstmt!=null)
           pstmt.close();
           if(conn!=null&&!conn.isClosed())
            conn.close();
         }catch(Exception ex)
         {
          ex.printStackTrace();
         }
        }
        %>
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP