我将图片以二进制格式写入数据库,并用jsp读出并显示在表格中,但是明明是有多张不同图片,为什么都显示成同一张?
相关代码如下:
<%sql="select * from Km_Data Where ProdClass='pm1'";
ResultSet rs=statement.executeQuery(sql);
while(rs.next()){
String name=rs.getString("Name");
String prodclass=rs.getString("ProdClass");
%>
<tr>
<td bgcolor="#efefef" width="20%"><img src="show.jsp?prodclass=<%=prodclass%>" alt=<%=name%>
></td>
<td bgcolor="#efefef" width="20%"><%=name%></td>
</tr>show.jsp:
........
String prodclass=request.getParameter("prodclass");
..............
String sql = "select Img from Km_Data where ProdClass = prodclass";
ResultSet rs = stmt.executeQuery(sql);
if (rs.next())
{
in = rs.getBinaryStream("Img");
response.setContentType("image/jpeg");
sop = response.getOutputStream();
int len;
byte[] buf = new byte[1024];
while ((len = in.read(buf, 0, 1024)) != -1)
{
sop.write(buf, 0, len);
}
}
sop.flush();
sop.close();
in.close();
rs.close();
stmt.close();
conn.close();
相关代码如下:
<%sql="select * from Km_Data Where ProdClass='pm1'";
ResultSet rs=statement.executeQuery(sql);
while(rs.next()){
String name=rs.getString("Name");
String prodclass=rs.getString("ProdClass");
%>
<tr>
<td bgcolor="#efefef" width="20%"><img src="show.jsp?prodclass=<%=prodclass%>" alt=<%=name%>
></td>
<td bgcolor="#efefef" width="20%"><%=name%></td>
</tr>show.jsp:
........
String prodclass=request.getParameter("prodclass");
..............
String sql = "select Img from Km_Data where ProdClass = prodclass";
ResultSet rs = stmt.executeQuery(sql);
if (rs.next())
{
in = rs.getBinaryStream("Img");
response.setContentType("image/jpeg");
sop = response.getOutputStream();
int len;
byte[] buf = new byte[1024];
while ((len = in.read(buf, 0, 1024)) != -1)
{
sop.write(buf, 0, len);
}
}
sop.flush();
sop.close();
in.close();
rs.close();
stmt.close();
conn.close();
解决方案 »
- ajax有关的问题
- jsp中增加,删除,修改按钮的函数怎么写?
- servlet问题
- 小女子的SQL复合语句问题,高手快来帮忙呀~急~!(我没分可给了,可是我真得很需要帮助!看一下吧!)
- 我用jasperreport做报表后,运行一段时间后,tomcat变得特别慢,为啥?
- 好象问得不太清楚,再次开贴
- 如何判断返回的结果集为空?
- jsp 传值如何兼容各个浏览器
- 自动产生编号问题!!在线等待!高手快进来看看。
- 表单提交的中文信息在数据库怎么变成乱码?
- 學JSP用哪個開發工具好啊?有沒有像ASP.NET那種可視化的開發工具啊
- 着急中:为什么有很多的树状菜单在 Linux 的浏览器 Mozilla 和 Firefox 下都展不开呢?(附源码)
======================================================
你这样做,不是同一张才怪,而且每次都是Km_Data表中第一条记录中的图片
你根本没有用传入的参数
改为while(rs.next())
就可以了
当然只显示一次了
应该用while
问题2:if (rs.next())
再把if(rs.next()) 改成 while(rs.next())
我看你的程序好像是这样的,前段代码是一个循环显示 每条记录,而show.jsp是想取每张图片是不是啊?但是,你每次传进来的参数都是一样的ProdClass,那又是取的第一条,那当然只显示第一张图片啦。传参数的时候,应该把每条数据的唯一标识传过来,例如(ID),然后在show.jsp里面,你再用 String sql = "select Img from Km_Data where ID=" + ID;这样,才算找到你要的图片啊!
(俺是新手,各位见笑了啊)