ResultSet rs1 = null;
String SQL="select a,b,c,d from tab1....";
rs1=statement.executeQuery(SQL)
...............
...............
if(rs1.next())
{
t=rs1.getInt("d")
if(t>0)
{
java.io.InputStream iStream = rs1.getBinaryStream("c");
byte bb[] = new byte[t];
int Be = 0;
String B = "";
...............
...............
...............
ResultSet rs2 = null;
String SQL2=".................";
rs2=statement.executeQuery(SQL2)
if(rs2.next())
{
.....................
.....................
}
rs2.getStatement().close();
while(true)
{
Be = iStream.read(bb);
if(iByte<=0)
break;
B = new String(bb, "GBK");
...............................
...............................
...............................
}
}
}
rs1.getStatement().close();String sFileName = request.+".html";
java.io.File file = new java.io.File(sFileName);
java.io.FileOutputStream fileOut = new java.io.FileOutputStream(file,true);
fileOut.write(result.getBytes());
fileOut.close();...................................
.................................注:字段c的类型为LONG RAW型 问题,为何有时候执时是会报 java.sql.SQLException: 流已被关闭但出现这种错误的频率很少。可又要排查这问题,请高手帮一下忙,看为何会出现这种问题。
String SQL="select a,b,c,d from tab1....";
rs1=statement.executeQuery(SQL)
...............
...............
if(rs1.next())
{
t=rs1.getInt("d")
if(t>0)
{
java.io.InputStream iStream = rs1.getBinaryStream("c");
byte bb[] = new byte[t];
int Be = 0;
String B = "";
...............
...............
...............
ResultSet rs2 = null;
String SQL2=".................";
rs2=statement.executeQuery(SQL2)
if(rs2.next())
{
.....................
.....................
}
rs2.getStatement().close();
while(true)
{
Be = iStream.read(bb);
if(iByte<=0)
break;
B = new String(bb, "GBK");
...............................
...............................
...............................
}
}
}
rs1.getStatement().close();String sFileName = request.+".html";
java.io.File file = new java.io.File(sFileName);
java.io.FileOutputStream fileOut = new java.io.FileOutputStream(file,true);
fileOut.write(result.getBytes());
fileOut.close();...................................
.................................注:字段c的类型为LONG RAW型 问题,为何有时候执时是会报 java.sql.SQLException: 流已被关闭但出现这种错误的频率很少。可又要排查这问题,请高手帮一下忙,看为何会出现这种问题。
解决方案 »
- NetBeans 集成开发web平台遇到问题,,
- 发布fusioncharts系列之fusionwidgets中文开发文档 散分
- 有关tomcat的数据源配置
- jquery问题
- 出现以下错误,是什么原因呢?
- 数据库连接代码的疑问
- 访问数据库,JavaBean里类方法返回的ResultSet与JSP里调用方法得到的ResultSet是不是同一个对象?有代码。。
- 关于sshe web项目错误 syntax error, expect RPAREN, actual UNIQUE unique
- jsp调用javabean问题
- 高手救命: 请问如何用jb6和weblogic6.1整合开发servlet???????
- dwr 例外被抛出且未被接住
- html selec 提交后,画面如何存住选中的值。。。
Be = iStream.read(bb);
上面两条语句你为什么不放在一起呢?
-----------
API如下:getBinaryStream
InputStream getBinaryStream(int columnIndex)
throws SQLException以未解释字节的二进制流的形式检索此 ResultSet 对象的当前行中指定列的值。然后,可以按块从流中读取值。此方法尤其适合于检索很大的 LONGVARBINARY 值。
注:在获取任何其他列的值之前必须读取返回流中的所有数据。下一次调用获取方法将隐式关闭该流。此外,当调用 InputStream.available 方法时,不管是否存在可用数据,流都可能返回 0。
参数:
columnIndex - 第一个列是 1,第二个列是 2,……
返回:
以未解释字节的流的形式返回传递数据库列值的 Java 输入流;如果值为 SQL NULL,则返回值为 null
抛出:
SQLException - 如果发生数据库访问错误