import java.io.OutputStream;
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.Types;
import java.sql.Statement;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.*;
import oracle.jdbc.driver.*;
import oracle.sql.*;
import java.io.*;
import com.brjl.database.*;public class DatabaseClob{
public String getClob(String sqlStr){
Connection conn = null;
Statement stmt = null;
CLOB lob_loc = null;
String buf="";
int len=0;
try{
JdbcConnect myConn=new JdbcConnect();
conn=myConn.getConn();
conn.setAutoCommit (false);
stmt = conn.createStatement ();
ResultSet rset = stmt.executeQuery (sqlStr);
if (rset.next())
{
lob_loc = ((OracleResultSet)rset).getCLOB (1);
}
len =(int)lob_loc.length ();
buf = lob_loc.getSubString(1,len);
}catch(SQLException e){
System.out.println("建立Statement时错误:"+e.toString());
}
try{
stmt.close();
conn.commit();
conn.close();
}catch(Exception e){
System.out.println("关闭数据库连接时错误:"+e.toString());
}
return buf;
}
public String setClob(String sqlStr,String clobName,String info){
String result=null;
Connection conn = null;
PreparedStatement stmt = null;
ResultSet rs = null;
java.io.Writer writer;
char[] data=new char[info.length()];
try{
JdbcConnect myConn=new JdbcConnect();
conn=myConn.getConn();
conn.setAutoCommit(false);
stmt = conn.prepareStatement(sqlStr,ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_UPDATABLE);
rs = stmt.executeQuery();
if (rs.next())
{
try{
Clob clob = rs.getClob(clobName);
writer=((CLOB)clob).getCharacterOutputStream();
info.getChars(0,info.length(),data,0);
writer.write(data);
writer.flush();
writer.close();
conn.commit();
}catch(Exception e)
{
conn.rollback();
result=e.toString();
System.out.println(e.toString());
}
}
rs.close();
stmt.close();
conn.close();
}catch(SQLException e){
System.out.println("建立Statement时错误:"+e.toString());
result="建立Statement时错误:"+e.toString();
}
return result;
}}
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.Types;
import java.sql.Statement;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.*;
import oracle.jdbc.driver.*;
import oracle.sql.*;
import java.io.*;
import com.brjl.database.*;public class DatabaseClob{
public String getClob(String sqlStr){
Connection conn = null;
Statement stmt = null;
CLOB lob_loc = null;
String buf="";
int len=0;
try{
JdbcConnect myConn=new JdbcConnect();
conn=myConn.getConn();
conn.setAutoCommit (false);
stmt = conn.createStatement ();
ResultSet rset = stmt.executeQuery (sqlStr);
if (rset.next())
{
lob_loc = ((OracleResultSet)rset).getCLOB (1);
}
len =(int)lob_loc.length ();
buf = lob_loc.getSubString(1,len);
}catch(SQLException e){
System.out.println("建立Statement时错误:"+e.toString());
}
try{
stmt.close();
conn.commit();
conn.close();
}catch(Exception e){
System.out.println("关闭数据库连接时错误:"+e.toString());
}
return buf;
}
public String setClob(String sqlStr,String clobName,String info){
String result=null;
Connection conn = null;
PreparedStatement stmt = null;
ResultSet rs = null;
java.io.Writer writer;
char[] data=new char[info.length()];
try{
JdbcConnect myConn=new JdbcConnect();
conn=myConn.getConn();
conn.setAutoCommit(false);
stmt = conn.prepareStatement(sqlStr,ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_UPDATABLE);
rs = stmt.executeQuery();
if (rs.next())
{
try{
Clob clob = rs.getClob(clobName);
writer=((CLOB)clob).getCharacterOutputStream();
info.getChars(0,info.length(),data,0);
writer.write(data);
writer.flush();
writer.close();
conn.commit();
}catch(Exception e)
{
conn.rollback();
result=e.toString();
System.out.println(e.toString());
}
}
rs.close();
stmt.close();
conn.close();
}catch(SQLException e){
System.out.println("建立Statement时错误:"+e.toString());
result="建立Statement时错误:"+e.toString();
}
return result;
}}
解决方案 »
- 怎么循环提取FORM表单中的数据
- struts 转向后,我的ajax怎么失灵了?
- 请高手解答一下
- 郁闷~~可能是第三方驱动~
- 电子商务小问题 高手进
- 如何实现在jsp页面上置入日历表,而且在某年某月某日的那个方框里输入内容,比如通过这个来实现每天的日程安排
- 新手入门,帮偶看看为什么JSP页面出不来。
- java编译不了,什么原因?急!!!
- 上传文件到数据库中,请问哪里出错了?
- 用thymeleaf 模版前台 我数据库 字段status 10001 主页输出为 有效 修改回显如果不用ajax 怎么回显 为status为有效
- 一个关于DB2数据库的jdbc驱动问题?在线等,急?
- java字符集问题大讨论,诚邀有独到见解或有经验的高手
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.Types;
import java.sql.Statement;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.*;
import oracle.jdbc.driver.*;
import oracle.sql.*;
import java.io.*;
import com.brjl.database.*;public class DatabaseClob{
public String getClob(String sqlStr){
Connection conn = null;
Statement stmt = null;
CLOB lob_loc = null;
String buf="";
int len=0;
try{
JdbcConnect myConn=new JdbcConnect();
conn=myConn.getConn();
conn.setAutoCommit (false);
stmt = conn.createStatement ();
ResultSet rset = stmt.executeQuery (sqlStr);
if (rset.next())
{
lob_loc = ((OracleResultSet)rset).getCLOB (1);
}
len =(int)lob_loc.length ();
buf = lob_loc.getSubString(1,len);
}catch(SQLException e){
System.out.println("建立Statement时错误:"+e.toString());
}
try{
stmt.close();
conn.commit();
conn.close();
}catch(Exception e){
System.out.println("关闭数据库连接时错误:"+e.toString());
}
return buf;
}
public String setClob(String sqlStr,String clobName,String info){
String result=null;
Connection conn = null;
PreparedStatement stmt = null;
ResultSet rs = null;
java.io.Writer writer;
char[] data=new char[info.length()];
try{
JdbcConnect myConn=new JdbcConnect();
conn=myConn.getConn();
conn.setAutoCommit(false);
stmt = conn.prepareStatement(sqlStr,ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_UPDATABLE);
rs = stmt.executeQuery();
if (rs.next())
{
try{
Clob clob = rs.getClob(clobName);
writer=((CLOB)clob).getCharacterOutputStream();
info.getChars(0,info.length(),data,0);
writer.write(data);
writer.flush();
writer.close();
conn.commit();
}catch(Exception e)
{
conn.rollback();
result=e.toString();
System.out.println(e.toString());
}
}
rs.close();
stmt.close();
conn.close();
}catch(SQLException e){
System.out.println("建立Statement时错误:"+e.toString());
result="建立Statement时错误:"+e.toString();
}
return result;
}}