关于数据库查询问题

来源:百度知道 编辑:UC知道 时间:2024/05/26 07:30:51
我从数据库表中查询数据并输出显示在页面上,如果表里符合条件的记录有10条,页面上就能输出10条,就是说数量始终会和数据库符合条件的数量保持一致,但发现有些条目并没有输出来,对照后发现有一部分重复输出了,而另一部分没有输出,但最后的输出条数又保持不变,请问各位高手,这是什么原因阿?会是哪些地方出了问题呢?
StringBuffer hql = new StringBuffer();
hql.append("select count(o.objId) from ").append(clazz.getName())
.append(" o where o.deletted=0 and o.portCode=:portCode");
这个查询条件不可能导致重复啊

给你看一段sql server的代码:
功能是查询某个商品名称(spmch)的10条记录;
onepagesize(每页记录数,如10条)和max(最后一条记录的位置,如(10,20,30 ...))是分页信息。

spid,spmch,shpchd,shpgg,shiyzh,chuffl,leibie (为字段名)
————————————————————————————————
String sql = " spid,spmch,shpchd,shpgg,shiyzh,chuffl,leibie ";
String sql2 = null;
sql2 = (new String(
"SELECT "
+ sql
+ " FROM ( SELECT Top "
+ onepagesize
+ sql
+ " FROM (SELECT Top "
+ max
+ sql
+ " FROM spkfk where spmch like '%"
+ this.spmch
+ "%' Order by spid)a order by spid desc) b order by spid"));

很明显,你的sql写的有问题,有冗余数据

第一,在数据库里检查一下你SQL语句查询的是否正确。
第二,检查你这个东西的数据访问层是否正确。
第三,检查你这个东西的业务层是否正确。
第四,检查你这个东西的页面处理的语句是否正确。