有没有大神解答?
java吧
全部回复
仅看楼主
level 6
断袖书生
楼主
图中是我从数据库中用Resultset对象的next()方法拿到的数据,然后用foreach循环显示的,数据库中的表有四行,但是这里却只拿到了一行重复的四行内容,求解
2012年11月30日 01点11分
1
level 10
xiuyuanvip
什么数据库?
2012年11月30日 02点11分
2
断袖书生
oracle
2012年11月30日 07点11分
xiuyuanvip
回复 断袖书生 :distinst
2012年11月30日 07点11分
xiuyuanvip
还可以用分组函数,内连接等方法去重
2012年11月30日 07点11分
level 8
NBlixianhui
上代码吧
2012年11月30日 02点11分
3
断袖书生
这就来
2012年11月30日 07点11分
level 6
断袖书生
楼主
这是操作数据库的查询代码
2012年11月30日 07点11分
5
649804148
goods每次循环的时候都需要new 一个新的对象,你new了没有?如果没有new结果肯定都是最后一条记录。
2012年11月30日 07点11分
xiuyuanvip
我晕 看到这些代码,我真心想问一下,你的数据库的ID怎么不是主键?不是主键都算了,又为啥不是unque?如果不是没可能相同的
2012年11月30日 07点11分
NBlixianhui
回复 xiuyuanvip :list.add(goods);每次add肯定是同一条数据goods.setId(id);前加上Goods goods = new Goods();
2012年11月30日 08点11分
断袖书生
回复 xiuyuanvip :我是菜鸟
2012年11月30日 09点11分
level 6
断袖书生
楼主
这是前台显示列表的代码
2012年11月30日 07点11分
6
649804148
看不清你贴出来吧。
2012年11月30日 07点11分
level 6
断袖书生
楼主
为毛只能重复显示一条?!
2012年11月30日 07点11分
7
level 10
可燃冰在
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery("select * from goods");我记得查询都这么写的,没见过楼主的写法
2012年11月30日 07点11分
8
断袖书生
那是因为我把查询的方法封装到了this调用的方法里了,你看不到原来的代码
2012年11月30日 09点11分
level 11
小明同学的失踪
在
list.add(goods);
下面写一行
goods=new Goods();
试试
2012年11月30日 07点11分
9
level 6
icsky000
**,不看后台不看图用腿毛想都知道是前台有问题啊.........
你自己看6L的代码,表头在循环里,这样能不出现一堆?
2012年11月30日 08点11分
10
level 10
blue_baby0816
页面显示部分:你是不是把那段页面显示代码放到foreach里面了,应该把商品编号 商品名
这些说明的文字放在foreach外面 foreach中只是循环输出list<Good>
2012年11月30日 08点11分
11
断袖书生
那样得到的时最后一个
2012年11月30日 09点11分
level 6
断袖书生
楼主
感谢广大吧友朋友,如
@NBlixianhui
所说那样解决了
2012年11月30日 09点11分
12
level 10
blue_baby0816
你输出的时候一行一行输出不要一列一列输出就行了
<tr><td>id</td><td>name</td>
</tr>
foreach(goods:list){
<tr><td><input value="%id%"/></td><td><input value="%name%"/></td>
</tr>
}这样试试看
2012年11月30日 09点11分
13
断袖书生
这谢谢已经解决了
2012年11月30日 14点11分
1