用blob从数据库中取得图片是的错误
我用blob从数据库中取得图片是的错误
在 oracle.sql.BLOB blob = (oracle.sql.BLOB) rs.getBlob("BOOKIMG");不执行了 出现java.sql.SQLException: 用尽的 Resultset
,为什么
public static void getImg(bookForm myForm){
bookForm form1 = new bookForm();
ResultSet rs ;
// EsqlQuery sqQuery = new EsqlQuery("kkk");
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@192.168.0.3:1521:EGOV4JS";
Connection con = DriverManager.getConnection(url, "BOOKMAN", "BOOKMAN");
boolean defaultCommit = con.getAutoCommit();
con.setAutoCommit(false);
myForm.setBookName("计算机 ");
/* 查询BLOB对象 */
Statement stmt = con.createStatement();
String sql= "SELECT BOOKIMG FROM BOOK WHERE BOOKNAME='";
sql+=myForm.getBookName();
sql+="' for update";
System.out.println("execute getImg sql"+sql);
rs = stmt.executeQuery(sql);
System.out.println("execute getImg sql end " +rs);
rs.next();
System.out.println("rs.next() end rs is"+ rs);
// while(rs.next()){
//
// form1.setBookImg(String.valueOf(rs.getBlob("BOOKIMG")));
// System.out.println("form1.getBookImg"+form1.getBookImg());
// }
oracle.sql.BLOB blob = (oracle.sql.BLOB) rs.getBlob("BOOKIMG");
System.out.println("blob get");
BufferedInputStream in = new BufferedInputStream(blob.getBinaryStream());
System.out.println(in+" get end");
in.close();
con.commit();
rs.close();
con.close();
}
catch (Exception ex) {
ex.printStackTrace();
/* 正式提交 */
}
System.out.println("提交完成 ");
// return form1;
}
在 oracle.sql.BLOB blob = (oracle.sql.BLOB) rs.getBlob("BOOKIMG");不执行了,为什么