如何判断从数据库得出数据循环输出组成的表格的最后一行

maxliu911 2012-04-20 08:27:05
如何判断从数据库得出数据循环输出组成的表格的最后一行
循环输出表格的代码如下:
<%
while (rs2.next()) {
out.print("<tr><td align=center >"+rs2.getString("dt_name")+"</td><td><a href=depart_modify.jsp? dtid="+rs.getInt("dt_id") + ">编辑</a> <a href=depart_del.jsp?dtid=" + rs.getInt("dt_id") + " >删除</a></td></tr>");
}
%>
目的是只在最后一行有“删除”链接
该怎么办,巨谢!
...全文
153 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
maxliu911 2012-04-20
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]
因为你没有预先把所有rs信息转为VO存入List中,变成是直接要操作数据集,限制就很大。
如果不用JS的话,就手工控制输出顺序,比较烦:

int lastId = -1;
while (rs2.next()) {
if (lastId>=0) out.println("</td></tr>"); // 结束TAG输出被前置化,避免最后一行需要追加“删除”
out.print(……
[/Quote]
非常感谢,正确!高手就是高手!!!
MiceRice 2012-04-20
  • 打赏
  • 举报
回复
因为你没有预先把所有rs信息转为VO存入List中,变成是直接要操作数据集,限制就很大。
如果不用JS的话,就手工控制输出顺序,比较烦:

int lastId = -1;
while (rs2.next()) {
if (lastId>=0) out.println("</td></tr>"); // 结束TAG输出被前置化,避免最后一行需要追加“删除”
out.print("<tr><td align=center >"+rs2.getString("dt_name")+"</td><td><a href=depart_modify.jsp? dtid="+rs.getInt("dt_id") + ">编辑</a>");
lastId = rs.getInt("dt_id");
}
if (lastId >=0 ) { // 输出最后一行,以及结束TAG
out.print("<a href=depart_del.jsp?dtid=" + lastId + " >删除</a></td></tr>");
}
MiceRice 2012-04-20
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]
提示错误“只进结果集不支持请求的操作”,错误指向“if(rs2.siLast())”这一行。
[/Quote]

说明你打开结果集的方式是 TYPE_FORWARD_ONLY,这种方式下不支持定位类操作。
建议修改为:TYPE_SCROLL_INSENSITIVE,不过性能开销会比前面这种高。

如果非常不希望修改打开结果集方式的话,就得自己去设置和跟踪标志了。
maxliu911 2012-04-20
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]
如果性能要求不是很高,数据集打开方式不是TYPE_FORWARD_ONLY的话,可以用 isLast()

out.print("<tr><td align=center >"+rs2.getString("dt_name")+"</td><td><a href=depart_modify.jsp? dtid="+rs.getInt("dt_id") + ">编辑</a>");
if (rs……
[/Quote]
提示错误“只进结果集不支持请求的操作”,错误指向“if(rs2.siLast())”这一行。
MiceRice 2012-04-20
  • 打赏
  • 举报
回复
如果性能要求不是很高,数据集打开方式不是TYPE_FORWARD_ONLY的话,可以用 isLast()

out.print("<tr><td align=center >"+rs2.getString("dt_name")+"</td><td><a href=depart_modify.jsp? dtid="+rs.getInt("dt_id") + ">编辑</a>");
if (rs2.isLast()) {
out.print("<a href=depart_del.jsp?dtid=" + rs.getInt("dt_id") + " >删除</a>");
}
out.println("</td></tr>");
maxliu911 2012-04-20
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]
rs.isLast();
这个不是可以吗?
[/Quote]
我也想到这一个了,只是不知道具体该怎么写,能劳烦在问题中的代码中写一下吗?
licip 2012-04-20
  • 打赏
  • 举报
回复
rs.isLast();
这个不是可以吗?
cxw3152 2012-04-20
  • 打赏
  • 举报
回复
使用JS来判断最后一行 应该可以。但是好像写代码没有你这样来写的。。
maxliu911 2012-04-20
  • 打赏
  • 举报
回复
高手们,不要让它沉底啊
maxliu911 2012-04-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
用js,获取最后一个tr,然后再获取最后一个td,然后innerHTML...
[/Quote]
呃……代码咋写?咋用啊?
  • 打赏
  • 举报
回复
用js,获取最后一个tr,然后再获取最后一个td,然后innerHTML...

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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