菜鸟散分来了...问关于Clob的简单问题

yeno 2006-04-29 05:48:37
具体代码如下,谁能帮我补充完整那个方法??

import java.sql.Clob;

public class ClobEntry{

private Clob comIntro;
public Clob getComIntro() {
return this.comIntro;
}

public void setComIntro(Clob comIntro) {
this.comIntro = comIntro;
}
public void setComIntro(String comIntro) {
//这里的代码应该怎么写?
}
}

其实是一个很简单的问题,我想将String数据写到Clob中,就这么一步,查了好多网上的贴,都....郁闷!

他们所提供的只有与数据库的交互,如果脱离数据库,只用Java的代码操作,请问应该如何实现???

另外,我尝试了如下方法,都无果而终:
方法一:

try {
//byte [] bytes = comIntro.getBytes();
this.comIntro.setString(1,comIntro,1,comIntro.length()-1);
//Writer w = this.comIntro.setCharacterStream(1,comIntro.length());
//w.write(comIntro);
System.out.println("********");//打印不出"*",也就是程序没执行到这里
}
catch(SQLException sqle){
sqle.printStackTrace();
}
方法二:

try {
byte [] b = comIntro.getBytes();
OutputStream output = this.comIntro.setAsciiStream(1);
//OutputStream output = this.comIntro.setAsciiStream(b.length());
output.write(b);
System.out.println("********");//打印不出"*",也就是程序没执行到这里
}
catch(SQLException sqle){
sqle.printStackTrace();
}
catch(IOException ioe){
ioe.printStackTrace();
}
...全文
248 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Qingjian 2006-08-12
  • 打赏
  • 举报
回复
诶~~~~~~~~~~~~如果是oracle数据库的话 那就先必须在数据库里面先插入一个空文件 在数据中获得这个文件的游标地址 然后再把自己的文件update (个人见解)
yeno 2006-05-16
  • 打赏
  • 举报
回复
好像大家都不热衷于来解决问题!

当你用ORM工具时,应该都会碰到如是问题吧,呵呵,郁闷!
yeno 2006-05-13
  • 打赏
  • 举报
回复
还是不太明白,楼上的能否说具体点
sole_lodestar 2006-05-11
  • 打赏
  • 举报
回复
换成10g或以上的jdbc包,操作如同字符型
yeno 2006-05-11
  • 打赏
  • 举报
回复
晕了半天, 楼主的可是实体类呀, 实体类又不直接实现数据库的增删改操作,怎么都是Connection,实体类是用来实现数据持久化的,不是来进行数据库操作的.
hnsida 2006-05-08
  • 打赏
  • 举报
回复
try {
Clob clob = rs.getClob( columnIndex );
StringBuffer ret = new StringBuffer();
InputStream is = clob.getAsciiStream();

if (is == null) {
return null;
}
else {
byte buffer[] = new byte[ 64 ];
int c = is.read( buffer );
while (c>0) {
ret.append( new String(buffer, 0, c) );
c = is.read( buffer );
}
return ret.toString();
}
xzf_fancy 2006-05-07
  • 打赏
  • 举报
回复
楼上正解
qinqinxiatiao 2006-05-06
  • 打赏
  • 举报
回复
呵呵 我记得前一段时间有人问过的

引入相应的包就好了

楼主可以使用eclipse等IDE的复写工具来将方法复写 其过程会提示你需要的引入的包的
代码就自动生成了~~ 楼主可以试下
jshi123 2006-05-06
  • 打赏
  • 举报
回复
看你是什么数据库,如果是Oracle,可以:
import oracle.sql.CLOB;

this.comIntro = CLOB.createTemporary(conn, true, CLOB.DURATION_SESSION);
// conn 是你的数据库连接

Clob是一个指针,指向数据库(驱动程序)中的一块数据区,所以必须当数据连接存在时,才能对它进行操作。
jshi123 2006-05-05
  • 打赏
  • 举报
回复
this.comIntro = new ... ?
yeno 2006-05-05
  • 打赏
  • 举报
回复
Clob是一个接口来的,所以就有些郁闷中....
yeno 2006-05-04
  • 打赏
  • 举报
回复
晕,几天了没有一个人过问???

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧