Blob对象的处理

suzhuxin2001 2003-08-27 11:49:09
我现在用Applet和Servlet开发一个B/S实时信息系统,Servlet用JDBC 读取数据库中的大二进制BLOB对象(也就是一张图片),Servlet端代码如下:
DriverManager.registerDriver(new OracleDriver());
Connection conn = DriverManager.getConnection(url, user,password);
//conn.setAutoCommit(false);

String St_sql = new String("select * from tb_txk where fd_txxh in (select fd_dtxh from tb_ztu where fd_ztuxh = ?)");
OraclePreparedStatement stmt = (OraclePreparedStatement) conn.prepareStatement(St_sql);
stmt.setString(1, St_ztuxh);
OracleResultSet dbrest = (OracleResultSet)stmt.executeQuery();

while (dbrest.next())
{
Bl_ty =dbrest.getBLOB ("fd_ty");
}


//InputStream is = Bl_ty.getBinaryStream();
//int bufSize = Bl_ty.getBufferSize();
//byte[] buffer = new byte[bufSize];
//int length;
//while ((length = is.read(buffer, 0, bufSize)) != -1);

//用读出来的数据初始化一个对象
txk = new T_Txk( BLOB blob);
用哪种构造函数,第二种
txk = new T_Txk(byte[] buffer);要求对BLOB进行如上注稀部分的处理。
两中情况我都试过,都不行。



上面代码从数据库中取记录,该记录有一个类型为BLOB的字段,我能取到每个字段的值。然后用这些值初始化一个对象。
我怎样才能用BLOB初始化一个对象或者经过处理来初始化一个对象,最后把该对象传回到Applet,上面注稀掉的部分是Servlet端对BLOB的处理,是不是该段处理应该不要,然后在Applet端来进行处理。如果不是大二进制对象,我已能传回。
数据库中的BLOB传回Applet以后,我怎么把她还原为原来的图象呢?
各位高手,请帮帮我啊!!
...全文
45 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
klbt 2003-08-30
  • 打赏
  • 举报
回复
学习。

3,499

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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