当前位置:  技术问答>java相关

100分求Clob存取完整源码

    来源: 互联网  发布时间:2015-08-06

    本文导语:  表:mytable 字段:id(Integer),content(clob) 要求:JDBC2.0以Thin方式连接数据库,向content字段存储长字符串(长度 > 4000),并读取显示。 | 保存 File file = new File("myimage.gif"); FileInputStream fis = new File...

表:mytable
字段:id(Integer),content(clob)
要求:JDBC2.0以Thin方式连接数据库,向content字段存储长字符串(长度 > 4000),并读取显示。

|
保存
File file = new File("myimage.gif");
FileInputStream fis = new FileInputStream(file);
PreparedStatement ps = 
  conn.prepareStatement("insert into images values (?,?)");
ps.setString(1,file.getName());
ps.setBinaryStream(2,fis,file.length());
ps.executeUpdate();
ps.close();
fis.close();

|
package com.broadvident.database;

import java.sql.*;
import java.io.*;
import oracle.sql.*;
import oracle.jdbc.driver.*;
import com.broadvident.database.DBConnection;

/**
 * 

Title: Oracle LOB类型数据操作类


 * 

Description: 操作Oracle的LOB数据类型,主要是读取和更新,此类为Oracle数据库专有类可能无法用在其它数据库上


 * 

同时应该注意,由于此类所有的方法都是静态的,使用此类时不必实例化,直接采用classname.method()即可。


 * 

Copyright: Copyright (c) 2002 


 * 

Company: 


 * @author 
 * @version 0.9
 */
public class DBMS_LOB {

/**
 * 以字符串的形式返回指定的CLOB字段中存储的内容。
 * @param rs 查询记录集,此方法从ResultSet中当前记录指针指向记录的指定CLOB字段内容。
 * @param lob_fieldName clob字段名,注意如果SQL语句类似于select a as b from table1,则lob_fieldName应该为b而不是a
 * @return String clob内容,以String表示。
 * @throws Exception 抛出的异常,需要在客户调用代码出捕获异常
 */
public static String getClob(ResultSet rs,String lob_fieldName) throws Exception {

String result=null;

if (rs!=null) {

try{

CLOB clob=((OracleResultSet)rs).getCLOB(lob_fieldName);

result=clob.getSubString(1,(int)clob.length());

}catch(SQLException se){

System.out.println("**错误: 无法获取CLOB对象!");

System.out.println(se.getMessage());

throw se;
}
}

return result;
}

/**
 * 以字符串的形式返回指定的CLOB字段中存储的内容。
 * @param rs 查询记录集,此方法从ResultSet中当前记录指针指向记录的指定CLOB字段内容。
 * @param nIndex clob字段索引,依据SQL标准,索引从1开始
 * @return String clob内容,以String表示。
 * @throws Exception 抛出的异常,需要在客户调用代码出捕获异常
 */
public static String getClob(ResultSet rs,int nIndex) throws Exception {

String result=null;

if (rs!=null) {

try{

CLOB clob=((OracleResultSet)rs).getCLOB(nIndex);

result=clob.getSubString(1,(int)clob.length());

}catch(SQLException se){

System.out.println("**错误: 无法获取CLOB对象!");

System.out.println(se.getMessage());

throw se;
}
}

return result;
}

/**
 * 以字符串的形式返回指定的CLOB字段中存储的内容。
 * @param strSl 查询SQL语句
 * @param lob_fieldName clob字段名称
 * @return String clob内容,以String表示。
 * @throws Exception 抛出的异常,需要在客户调用代码出捕获异常
 */
public static String getClob(String strSql,String lob_fieldName) throws Exception {

DBConnection conn=new DBConnection();

ResultSet rs=null;

String result=null;

try{

rs=conn.executeQuery(strSql);

if (rs.next()) {

CLOB clob=((OracleResultSet)rs).getCLOB(lob_fieldName);

result=clob.getSubString(1,(int)clob.length());

}

rs.close();

rs=null;
}
catch(SQLException se) {

System.out.println("**错误: 无法获取CLOB字段内容!");

System.out.println(se.getMessage());

throw se;
}

try{

conn.close();

}catch(Exception e){

System.out.println("**错误: 返还连接错误!");

System.out.println(e.getMessage());

throw e;
}

return result;
}

/**
 * 以字符串的形式返回指定的CLOB字段中存储的内容。本方法默认SQL语句的第一个查询字段为CLOB字段
 * @param strSl 查询SQL语句
 * @return String clob内容,以String表示。
 * @throws Exception 抛出的异常,需要在客户调用代码出捕获异常
 */
public static String getClob(String strSql) throws Exception {

DBConnection conn=new DBConnection();

ResultSet rs=null;

String result=null;

try{

rs=conn.executeQuery(strSql);

if (rs.next()) {

CLOB clob=((OracleResultSet)rs).getCLOB(1);

result=clob.getSubString(1,(int)clob.length());

}

rs.close();

rs=null;
}
catch(SQLException se) {

System.out.println("**错误: 无法获取CLOB字段内容!");

System.out.println(se.getMessage());

throw se;
}

try{

conn.close();

}catch(Exception e){

System.out.println("**错误: 返还连接错误!");

System.out.println(e.getMessage());

throw e;
}

return result;
}

/**
 * 以字符串的形式返回指定的CLOB字段中存储的内容。本方法默认SQL语句的第一个查询字段为CLOB字段
 * @param strSl 查询SQL语句
 * @param nIndex clob字段索引
 * @return String clob内容,以String表示。
 * @throws Exception 抛出的异常,需要在客户调用代码出捕获异常
 */
public static String getClob(String strSql,int nIndex) throws Exception {

DBConnection conn=new DBConnection();

ResultSet rs=null;

String result=null;

try{

rs=conn.executeQuery(strSql);

if (rs.next()) {

CLOB clob=((OracleResultSet)rs).getCLOB(nIndex);

result=clob.getSubString(1,(int)clob.length());

}

rs.close();

rs=null;
}
catch(SQLException se) {

System.out.println("**错误: 无法获取CLOB字段内容!");

System.out.println(se.getMessage());

throw se;
}

try{

conn.close();

}catch(Exception e){

System.out.println("**错误: 返还连接错误!");

System.out.println(e.getMessage());

throw e;
}

return result;
}


    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.sql类types的类成员方法: clob定义及介绍
  • 基于jdbc处理Clob的使用介绍
  • java命名空间java.sql接口clob的类成员方法: length定义及介绍
  • 与Oracle连接时,怎样添加Bolb,Clob字段?急!!!!!
  • java命名空间java.sql接口clob的类成员方法: position定义及介绍
  • @@@@@@@@@@@@@@用Entity Bean怎么操作clob字段?成功就给分!!!
  • java命名空间java.sql接口clob的类成员方法: getasciistream定义及介绍
  • 在Oracle的SQLPLUS下显示CLOB中的内容
  • java命名空间java.sql接口clob的类成员方法: truncate定义及介绍
  • 如何显示BLOB,CLOB类型字段的内容
  • java命名空间java.sql接口clob的类成员方法: getcharacterstream定义及介绍
  • 有关clob的
  • java命名空间java.sql接口clob的类成员方法: setcharacterstream定义及介绍
  • C#操作CLOB大对象的代码一例
  • java命名空间java.sql接口clob的类成员方法: setasciistream定义及介绍
  • 如何在JSP里得到CLOB类型的数据
  • java命名空间java.sql接口clob的类成员方法: setstring定义及介绍
  • 放了两天没人理,真的很难吗?如何显示BLOB,CLOB内容
  • java命名空间java.sql接口clob的类成员方法: getsubstring定义及介绍
  • 用jsp写Oracle里的clob型字段的问题,求救!!!
  • java命名空间java.sql接口clob的类成员方法: free定义及介绍
  • Oracle 插入超4000字节的CLOB字段的处理方法


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3