Java

本类阅读TOP10

·使用MyEclipse开发Struts框架的Hello World!(录像1)
·hibernate配置笔记
·AOP编程入门--Java篇
·linux下Tomcat 5.0.20 与 Apache 2 安装/集成/配置
·在win2003下整合了整合Tomcat5.5+ apache_2.0.53+ mod_jk_2.0.47.dll
·构建Linux下IDE环境--Eclipse篇
·Jsp 连接 mySQL、Oracle 数据库备忘(Windows平台)
·ASP、JSP、PHP 三种技术比较
·Tomcat5.5.9的安装配置
·AWT GUI 设计笔记(二)

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
运用Java如何存取Oracle中的CLOB类型字段

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

这是我几年前写的文章了,一直没有发出来。今天给大家分享。大家从这个例子如手吧。这个例子,存和取都很明白了

 

 

import java.sql.*;
import java.io.*;
import oracle.jdbc.driver.OracleResultSet;
import oracle.sql.CLOB;

public class TestOracleClob implements Serializable{
 public static void main(String[] args)
 { 
  //create table test (id integer,content clob);
  System.out.println("-------------------insert -----------------");
  try{
  Class.forName("oracle.jdbc.driver.OracleDriver");
  Connection con=DriverManager.getConnection("jdbc:oracle:thin:@fangm:1521:LICSFC","SFC","SFC");
  //con.setAutoCommit(false);
  //Ok 1
  String sql="insert into test values(1,empty_clob())";
  Statement stmt=con.createStatement();
  ResultSet rs=stmt.executeQuery(sql);
  String sqll="select content from test where id=1 for update";
  ResultSet rss=stmt.executeQuery(sqll);
  if(rss.next()){
   CLOB clob = ((OracleResultSet)rss).getCLOB(1);
   clob.putString(1,"ddddddddddddddddddddddddddddddddddd");
   sql="update test set content=? where id=1";
   PreparedStatement pstmt=con.prepareStatement(sql);
   pstmt.setClob(1,clob);
   pstmt.executeUpdate();
   pstmt.close();
  }
  //Ok 2
  //String sql1="insert into test values(2,empty_clob())";
  //ResultSet rs3=stmt.executeQuery(sql1);
  String sql12="insert into test values(?,?)";
  PreparedStatement pstmt1=con.prepareStatement(sql12);
  pstmt1.setInt(1,2);
  pstmt1.setClob(2,oracle.sql.CLOB.empty_lob());
  pstmt1.executeUpdate();
  String sqll2="select content from test where id=2 for update";
  ResultSet rss2=stmt.executeQuery(sqll2);
  if(rss2.next()){
   CLOB clob = ((OracleResultSet)rss2).getCLOB(1);
   clob.putString(1,"affffffffffdfdfdfdddddddffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdddfff");
   String sql1="update test set content=? where id=2";
   PreparedStatement pstmt=con.prepareStatement(sql1);
   pstmt.setClob(1,clob);
   pstmt.executeUpdate();
   pstmt.close();
  }
  //con.commit();
  rss.close();
  rss2.close();
  pstmt1.close();
  rs.close();
  stmt.close();
  con.close();
  System.out.println("-------------insert ok-------------");
  }catch(Exception e){
   System.out.println("insert:"+e);
  }
  System.out.println("-------------------query -----------------");
  try{
  String content="";
  Class.forName("oracle.jdbc.driver.OracleDriver");
  Connection con=DriverManager.getConnection("jdbc:oracle:thin:@fangm:1521:LICSFC","SFC","SFC");
  Statement stmt=con.createStatement();
  String sql="select content from test where id=1";
  ResultSet rs=stmt.executeQuery(sql);
  if(rs.next()){
   CLOB clob = ((OracleResultSet)rs).getCLOB(1);
   if(clob!=null){
   Reader is=clob.getCharacterStream();
   BufferedReader br=new BufferedReader(is);
   String s=br.readLine();
   while(s!=null){
    content+=s+",";
    s=br.readLine();
    }
   }
   
  }
  rs.close();
  stmt.close();
  con.close();
  System.out.println("clob:"+content);
  System.out.println("-------------query ok-------------");
  }catch(Exception ee){
   System.out.println("query:"+ee);
  }
  
 }
 }




相关文章

相关软件