为什么查询里嵌套查询总是说找不到指定的列啊(JSP)

[复制链接]
查看11 | 回复2 | 2010-8-9 12:12:33 | 显示全部楼层 |阅读模式
ResultSet rs1=stmt.executeQuery("select DISTINCT pinpai from goods2 where ID1='"+id+"' ");



while(rs1.next()){

[tr]

[td][/td][tr]

}

[tr]

[td][/td][tr]





回复

使用道具 举报

千问 | 2010-8-9 12:12:33 | 显示全部楼层
同一个数据库连接里面,一次使用的只能有一个ResultSet。你的代码里面用了两个ResultSet。当你使用rs的时候,数据库的连接是分配给rs的。而这时你如果又使用另外一个ResultSet,rs1,原来的rs的连接就已经给重置成无效的了。所以,当你的数据经历了第一次外层循环,再进入第二次外层循环的时候,就分报找不到指定列的错误。因为rs已经给取消与数据库的连接了。你可以先通过循环,把要查询的ID取出来,存起来。然后,再把存起来的ID进行循环,重循环里面去取对应的ID对应的信息。同时使用两个或者两个以上的ResultSet是不允许的----目前,目前的数据库是不允许的。有问题再补充哈。。。天天开心。。。:)
回复

使用道具 举报

千问 | 2010-8-9 12:12:33 | 显示全部楼层
你这个应该从日志中很容易找出来才对,你看看你的那个数据库表goods2中是否存在那几个列。另外,我看了你代码,其中的使用是不是太多了?而且使用不当,修改如下:<%Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
String url="j
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行