急,设置了conn.createStatement后查询出错,100分求解

eye_heart31 2004-12-24 05:15:26
方式1:Statement stmt = conn.createStatement();
方式2:Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
使用方式1时,select hjx,bkkl,count(bkkl) as c from ks group by hjx,bkkl order by hjx,count(bkkl) desc返回结果正常
为了实现分页,改用方式2,查询结果就出现数据不完整
求解决的方法?谢谢!
...全文
239 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
afanyun 2004-12-25
  • 打赏
  • 举报
回复
可能也跟连接的数据库有关,sqlserver有些功能是不支持的.
afanyun 2004-12-25
  • 打赏
  • 举报
回复
PreparedStatement stmt=conn.prepareStatement(sqlstr,ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);

建立PreparedStatement时这样,然后
rs.first();
while(!(rs.isAfterLast())
{
//操作
}
这样试试吧,就不会出错.
eye_heart31 2004-12-24
  • 打赏
  • 举报
回复
用huazhebia的方法出错
afanyun 2004-12-24
  • 打赏
  • 举报
回复
rs.first();
while(!(rs.isAfterLast())
{
//操作
}
这样试试吧
eye_heart31 2004-12-24
  • 打赏
  • 举报
回复
while(rs.next())
{%> <tr align="center">
<th height="32" scope="row" class="a13"><%=rs.getString("hjx")%></th>
<td class="a13"><%=rs.getString("bkkl")%></td>
<td class="a13"><%=rs.getString("c")%></td>
</tr>
<%}%>
用conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
后结果就少了3条记录
用了rs.beforeFirst();修改后还是一样
steveyue 2004-12-24
  • 打赏
  • 举报
回复
你是怎么区得rs的?帖出代码给大伙看看啊
不徻写代码 2004-12-24
  • 打赏
  • 举报
回复
UP
menghuanlang 2004-12-24
  • 打赏
  • 举报
回复
你在使用conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);的时候,在返回的数据集rs后,在取rs里的数据之前调用一下rs.beforeFirst();然后你在rs.next去取数据看看。。
应该不会出现你说的这种情况的。除非你的SQL语句不健壮
tom2005 2004-12-24
  • 打赏
  • 举报
回复
不可能吧
eye_heart31 2004-12-24
  • 打赏
  • 举报
回复
使用SELECT,正常情况是返回7条记录,加了ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE,
只返回了4条记录,有3条记录丢失
tom2005 2004-12-24
  • 打赏
  • 举报
回复
什么数据不完整
viano 2004-12-24
  • 打赏
  • 举报
回复

sorry
!
华生豆 2004-12-24
  • 打赏
  • 举报
回复
应该是完整的吧,是不是你rs移动时有的数据没有读到呢~~~
menghuanlang 2004-12-24
  • 打赏
  • 举报
回复
rs = stmt.executeQuery();
menghuanlang 2004-12-24
  • 打赏
  • 举报
回复
PreparedStatement stmt = conn.prepareStatement(sql, ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY)
用这个语句再试试

81,122

社区成员

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

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