楼主写的是分页算法。
and classes='"+classes2+"',price<=500 这样是不对的,将逗号改成 and
另外,外面的select没有加order by ,可能分页结果不准确。
SQL中可以以多个AND或OR,当条件混乱时,可以使用括号。
如a and (b or c)这样的。
楼主补充的语句可以修改为
sql="select top 16 * from tb_goods where id not in (select top "+(nowPage*16)+" id from tb_goods where classes='"+classes2+"' and price<=500 order by id asc)and classes='"+classes2+"' and price<=500 order by id asc";
我晕,你最好是到秋窗那里询问,那边都是高手培训基地。没看清是数据库sql语句