资讯   |   开发   |   选机中心   |   产品大全 | IBM | 惠普 | 联想 | 戴尔 | 苹果 | 神舟
更多: | 华硕 | 明基 | 方正 | 紫光 | TCL | 夏新 | 联宝 | 宏碁 | 七喜 | 长城 | 清华同方 | 海尔 | 三星 | 东芝 | 索尼 | 富士通 | LG | 技术 | ddnoon
当前位置:笔记本 > 软件开发 >
Advertisement
文章正文

如何更新大字段的数据

类型:转载   责任编辑:asp.net   日期:2007/05/23


热门软件下载:


   

我要更新的记录里包含了大字段和一般的varchar2(2000),应该如何操作呢?  
  我的程序这样,可以更新大字段的那个域,但是却又更新不了不是大字段的其他域了,应该怎么处理呢  
  public   void   update(Object   pObj)   throws   SQLException   {  
          mModel   =   (CClass)   pObj;  
          oracle.sql.CLOB   clob   =   null;  
          java.io.BufferedWriter   clobWriter   =   null;  
          Connection   mNewConn   =   null;  
          Statement   mStmt   =   null;  
          ResultSet   mRs   =   null;  
          PreparedStatement   pstmt   =   null;  
          try   {  
              mNewConn   =   (new   CDB()).getConnection(false);  
   
              mStmt   =   mNewConn.createStatement();  
              mRs   =   mStmt.executeQuery(  
                      "SELECT   ID,Condition,Data,Program   FROM   "  
                      +   mTableName   +   "   where   ID="   +   mModel.getID()   +   "   and   ITEMS="   +   mModel.getItems()   +   "   for   update");  
              if   (mRs.next())   {  
                  clob   =   (oracle.sql.CLOB)   mRs.getClob("CONDITION");  
                  clobWriter   =   new   java.io.BufferedWriter(clob.getCharacterOutputStream());  
                  clobWriter.write(mModel.getCondition());  
                  clobWriter.close();  
                  clob   =   (oracle.sql.CLOB)   mRs.getClob("DATA");  
                  clobWriter   =   new   java.io.BufferedWriter(clob.getCharacterOutputStream());  
                  clobWriter.write(mModel.getData());  
                  clobWriter.close();  
                  clob   =   (oracle.sql.CLOB)   mRs.getClob("PROGRAM");  
                  clobWriter   =   new   java.io.BufferedWriter(clob.getCharacterOutputStream());  
                  clobWriter.write(mModel.getProgram());  
                  clobWriter.close();  
              }  
                  mRs.close();  
                  mStmt.close();  
   
                  String   sSQL   =   "update   "   +   mTableName   +  
                          "   set   name=?,department=?,Content=?,Law=?,Amount=?,Forms=?   where   ID=?   and   Items=?";  
                  pstmt   =   mConn.prepareStatement(sSQL);  
                  pstmt.setString(1,mModel.getName());  
                  pstmt.setString(2,mModel.getDepartment());  
                  pstmt.setString(3,mModel.getNormContent());  
                  pstmt.setString(4,mModel.getNormLaw());  
                  pstmt.setString(5,mModel.getNormAmount());  
                  pstmt.setString(6,mModel.getNormForms());  
              }  
              catch   (SQLException   ex)   {  
                  ex.printStackTrace();  
                  throw   ex;  
              }  
              catch   (IOException   ioe)   {  
                  ioe.printStackTrace();  
   
              }catch(javax.naming.NamingException   nex)  
              {  
                  nex.printStackTrace();  
              }  
              finally   {  
                  if   (mRs   !=   null)  
                      mRs.close();  
                  if   (mStmt   !=   null)  
                      mStmt.close();  
                  if   (pstmt   !=   null)  
                      pstmt.close();  
                  if   (mNewConn   !=   null)  
                      mNewConn.close();  
              }  
          }

网友回答:


 

 
热门推荐笔记本: 戴尔笔记本
相关文章:
笔记本相关:
IT技术文章:
webmaster:popbb@126.com   最佳浏览:1024X768 MSIE
©2007 popbb.net All Rights Reserved