gpt4 book ai didi

java - 从结果集对象中检索元素

转载 作者:行者123 更新时间:2023-12-01 18:39:40 25 4
gpt4 key购买 nike

我想从结果集对象中检索 blob 元素,并且想在一个窗口中一一显示数据库中的所有图像。

下面是我的数据库表。

| application_name | varchar(45)  | | application_id   | varchar(10)  | | application_path | varchar(500) | | application_icon | blob         |

below is my code servlet code for retrieval of images from database

Image.java

response.setContentType("image/jpeg");
try {
Connection connection= DBUtil.getConnection();
PreparedStatement preparedStatement=connection.prepareStatement("select application_icon from application_master where application_path='abc'");
ResultSet resultSet=preparedStatement.executeQuery();
int i=1;
//out.print("<h1>photo</h1>");
while (resultSet.next()) {
/*out.print("<img width='200' height='200' src="+resultSet.getBlob(1)+ "> </img>" );*/
Blob blob=resultSet.getBlob(i);
response.setContentLength((int) blob.length());
InputStream inputStream=blob.getBinaryStream();
OutputStream outputStream=response.getOutputStream();
byte buf[]=new byte[(int) blob.length()];
inputStream.read(buf);
outputStream.write(buf);
Thread.sleep(1000);
System.out.println("displayed");
i=i+1;
System.out.println(i);
}

上面的代码从第一行检索图像并显示图像。当 i 变为 2 即 i=2 时。它显示异常“java.sql.SQLException: Column Index out of range, 2 > 1.”。

我不明白当执行查询“select application_icon from application_master where application_path='abc'”时它会返回多个图像......那么我如何从结果集中检索所有图像对象。

如果我说的不对请指正......

最佳答案

您需要使用.getBlob(1),而不是.getBlob(i)resultSet 对象返回的每一行的 BLOB 数据始终位于第 1 列中。

关于java - 从结果集对象中检索元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20469207/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com