麻烦各位高手帮帮我看看我的条件查询问题,烦了好几天了。

问题描述

我做的是条件查询,然后再分页显示查询结果。总是报错。我却一直找不到问题所在。貌似问题出现在presentPageResult这个函数。可是我却不知道怎么改。我用的是myeclipse加mysql数据库。麻烦高手帮我一下,不吝赐教,感激不尽packagepack;importjava.sql.*;importcom.sun.rowset.*;publicclasslink1{intpageSize=10;//每页显示的记录数intpageAllCount=0;//分页后的总页数intshowPage=1;//当前显示页StringBufferpresentPageResult;//显示当前页内容CachedRowSetImplrowSet;//用于存储ResultSet对象floatpriceMin,priceMax;String字段[]=newString[100];int字段个数=0;publiclink1(){presentPageResult=newStringBuffer();try{Class.forName("com.mysql.jdbc.Driver");}catch(Exceptione){}}publicvoidsetPriceMax(floatn){priceMax=n;presentPageResult=newStringBuffer();}publicfloatgetPriceMax(){returnpriceMax;}publicvoidsetPriceMin(floatn){priceMin=n;presentPageResult=newStringBuffer();}publicfloatgetPriceMin(){returnpriceMin;}publicvoidsetPageSize(intsize){pageSize=size;字段个数=0;Stringuri="jdbc:mysql://localhost/f";Stringuser="root";//用户try{Connectioncon=DriverManager.getConnection(uri,user,"");DatabaseMetaDatametadata=con.getMetaData();ResultSetrs1=metadata.getColumns(null,null,"book_shopping",null);intk=0;while(rs1.next()){字段个数++;字段[k]=rs1.getString(4);//获取字段的名字k++;}Statementsql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);ResultSetrs=sql.executeQuery("select*frombook_shoppingwhereprice<="+priceMax+"AND"+"price>="+priceMin);rowSet=newCachedRowSetImpl();//创建行集对象rowSet.populate(rs);con.close();//关闭连接rowSet.last();intm=rowSet.getRow();//总行数intn=pageSize;pageAllCount=((m%n)==0)?(m/n):(m/n+1);}catch(Exceptionexp){}}publicintgetPageSize(){returnpageSize;}publicintgetPageAllCount(){returnpageAllCount;}publicvoidsetShowPage(intn){showPage=n;}publicintgetShowPage(){returnshowPage;}publicStringBuffergetPresentPageResult(){if(showPage>pageAllCount)showPage=1;if(showPage<=0)showPage=pageAllCount;presentPageResult=show(showPage);<inputtype="submit"value="提交"></form>价钱在<jsp:getPropertyname="look"property="priceMin"/>至<jsp:getPropertyname="look"property="priceMax"/>之间的记录<br>共有<jsp:getPropertyname="look"property="pageAllCount"/>页.<br>每页最多显示<jsp:getPropertyname="look"property="pageSize"/>条记录。<jsp:getPropertyname="look"property="presentPageResult"/><BR>当前显示第<jsp:getPropertyname="look"property="showPage"/>页,<BR>单击“前一页”或“下一页”按纽查看记录<Table><tr><td><FORMaction=""><Inputtype=hiddenname="showPage"value="<%=look.getShowPage()-1%>"><Inputtype=submitname="g"value="前一页"></FORM></td><td><FORMaction=""><Inputtype=hiddenname="showPage"value="<%=look.getShowPage()+1%>"><Inputtype=submitname="g"value="后一页"></Form></td><td><FORMaction="">输入页码:<Inputtype=textname="showPage"size=5><Inputtype=submitname="g"value="提交"></FORM></td></tr></Table></BODY></HTML>

解决方案

解决方案二:
麻烦各位高手帮一下忙。我总是运行不出来啊。可以我找了好多次都找不出问题所在。希望高手帮我一下,感激不尽
解决方案三:
不要沉啊。烦恼了好几天啦。请求帮忙啊
解决方案四:
mysql不是用limit这个来处理分页么
解决方案五:
引用3楼fable0115的回复:

mysql不是用limit这个来处理分页么

是么?可是应该这个也可以吧。我是看书的。
解决方案六:
自己在来顶一顶,希望能人可以帮帮我
解决方案七:
该回复于2011-03-30 11:12:24被版主删除
解决方案八:
我原来做过,如果没有解决联系我,我发给你我写的包装类。有时间帮你看看。qq:39339570
解决方案九:
在来顶顶。求高手
解决方案十:
用limit的飘过~~~关键是limit太好用了。
解决方案十一:
limit强大哈
解决方案十二:
引用10楼wuxiaoke2009的回复:

limit强大哈

关键是不知道怎么用啊,没学过啊
解决方案十三:
看得有点头大了,呵呵,帮顶一下啊啊!
解决方案十四:
引用12楼jaygo311的回复:

看得有点头大了,呵呵,帮顶一下啊啊!

呵呵。谢谢了
解决方案十五:
顶起来,我还没解决问题啊。
解决方案:
mysql>SELECT*FROMtableLIMIT5,10;//检索记录行6-15//为了检索从某一个偏移量到记录集的结束所有的记录行,可以指定第二个参数为-1:mysql>SELECT*FROMtableLIMIT95,-1;//检索记录行96-last.//如果只给定一个参数,它表示返回最大的记录行数目:mysql>SELECT*FROMtableLIMIT5;//检索前5个记录行
解决方案:
引用15楼zyz1985的回复:

mysql>SELECT*FROMtableLIMIT5,10;//检索记录行6-15//为了检索从某一个偏移量到记录集的结束所有的记录行,可以指定第二个参数为-1:mysql>SELECT*FROMtableLIMIT95,-1;//检索记录行96-last.//如果只给定一个参数,它表示返回最大的记录行数目:mysql>SEL……

还不是不很懂。我用的是navicatformysql
解决方案:
不错,学习了
解决方案:
Mysql的分页语句,使用limit子句:FROMtablelimitfromIndex,length;fromIndex从0开始,包含fromIndex指向的记录,length要查询的记录的数量.
解决方案:
引用18楼guiliangdong的回复:

Mysql的分页语句,使用limit子句:FROMtablelimitfromIndex,length;fromIndex从0开始,包含fromIndex指向的记录,length要查询的记录的数量.

学习了
解决方案:
privateintpage=1;//显示的页码privateintpageSize=3;//每页显示的订单数privateintpageCount=0;//页面总数privatelongrecordCount=0;//查询的记录总数ResultSetrs,rs1;StringsqlStr="";publicintgetPage(){//显示的页码returnpage;}publicvoidsetPage(intnewpage){System.out.print(newpage);page=newpage;}publicintgetPageSize(){//每页显示的图书数returnpageSize;}publicvoidsetPageSize(intnewpsize){pageSize=newpsize;}publicintgetPageCount(){//页面总数returnpageCount;}publicvoidsetPageCount(intnewpcount){pageCount=newpcount;}publiclonggetRecordCount(){returnrecordCount;}publicvoidsetRecordCount(longnewrcount){recordCount=newrcount;}publicStringgetGbk(Stringstr){try{returnnewString(str.getBytes("gbk"));}catch(Exceptione){returnstr;}}publicbooleangetNews(HttpServletRequeststr)throwsException{javax.servlet.http.HttpServletRequestrequest=str;HttpSessionsession=request.getSession();Stringid=request.getParameter("t_id");session.setAttribute("t_id",id);intt_id=Integer.parseInt(id);sqlStr="selectcount(*)fromnews";//取出记录数intrscount=pageSize;try{dbPoold1=newdbPool();rs1=d1.executeQuery(sqlStr);if(rs1.next())recordCount=rs1.getInt(1);rs1.close();}catch(SQLExceptione){returnfalse;}//设定有多少pageCountif(recordCount<1)pageCount=0;elsepageCount=(int)(recordCount-1)/pageSize+1;//检查查看的页面数是否在范围内if(page<1)page=1;elseif(page>pageCount)page=pageCount;rscount=(int)recordCount%pageSize;//最后一页记录数if(page==1){sqlStr="select*fromnewswheremenuid="+t_id+"orderbyiddesclimit"+pageSize;}else{Stringid1=(String)session.getAttribute("t_id");intidi=Integer.parseInt(id1);sqlStr="select*fromnewswheremenuid="+idi+"orderbyiddesclimit"+(pageSize*page-pageSize)+","+pageSize;}try{dbPooldb=newdbPool();//System.out.println("==========="+sqlStr);rs=db.executeQuery(sqlStr);Listlist=newArrayList();while(rs.next()){Newsn=newNews();n.setId(rs.getInt("id"));n.setName(rs.getString("name"));n.setTitle(rs.getString("title"));n.setWriter(rs.getString("writer"));n.setReporter(rs.getString("reporter"));n.setFromer(rs.getString("fromer"));n.setAddtime(rs.getString("addtime"));n.setFile(rs.getString("file"));n.setEditer(rs.getString("editer"));list.add(n);}session.setAttribute("adminNews",list);}catch(Exceptione){e.printStackTrace();}returntrue;}
解决方案:
引用20楼chaoloveyou的回复:

privateintpage=1;//显示的页码privateintpageSize=3;//每页显示的订单数privateintpageCount=0;//页面总数privatelongrecordCount=0;//查询的记录总数ResultSetrs,rs1;StringsqlStr="";publicint……

有点难理解

时间: 2024-10-28 07:17:53

麻烦各位高手帮帮我看看我的条件查询问题,烦了好几天了。的相关文章

C语言--有木有大神帮帮看看我的折半法代码,已经自己研究了好长时间,还是弄不出来???

问题描述 C语言--有木有大神帮帮看看我的折半法代码,已经自己研究了好长时间,还是弄不出来??? #include #include #define M 3 void inputName(char name[][121],double money[]); void ouput(char name[][121],double money[]); void sortPay(char name[][121],double money[]); void sortName(char name[][121]

web.xml-jsp编码过滤器失效,麻烦各位高手看一下

问题描述 jsp编码过滤器失效,麻烦各位高手看一下 http应答如下,显示字符集已经是utf-8了,为什么下面的html还是乱码呢? 还需要在JSP中另外加入<%@page contentType="text/html; charset=utf-8"%>才能解决问题 HTTP/1.1 200 OK Server: Apache-Coyote/1.1 Content-Type: text/html;charset=utf-8 Content-Length: 114 Date:

c语言-C语言寻找矩阵鞍点问题麻烦看看我的算法哪里有问题

问题描述 C语言寻找矩阵鞍点问题麻烦看看我的算法哪里有问题 我写了个算法,但是不知道为什么运行不出结果. 麻烦看看我的算法错在了哪里(请不要更换我的算法). 解决方案 /*寻找行里面最大的值所在列,找到后再看该元素是不是所在列的最小值,如果是则找到,否则下一行接着找,弱到最后一行都没有则没有鞍点*/ for(i = 0; i < n; i++) { max = a[i][0]; //记录行里面的最大值 column = 0; //记录行最大值所在列号 //找行最大值的列号 for(j = 1;

各位高手帮帮我啊

问题描述 我查出来一行数据,显示在gridview里面,表里有一个press字段,如果根据ID查出来的这行数据,对应的press字段为y,那么我要有个操作,就是在gridview里面有个buttonfield列,press为y的时候,commandname为"打印",并且点"打印",会执行相关操作:如果press字段为n,那么commandname就为"不打印",而且点"不打印"这个列,也没有任何操作这个该怎么实现啊,请高手帮

更新-最近学习java的缓存机制,请大家看看我的代码有什么不足

问题描述 最近学习java的缓存机制,请大家看看我的代码有什么不足 一个简单的测试类,如果在高并发下会有问题么 package com.test.cache;import java.util.Map;import java.util.concurrent.ConcurrentHashMap;public class CacheManager { private volatile static CacheManager cacheManager;//缓存类的实例 private long upDa

代码-求好心人看看我的code哪里不对

问题描述 求好心人看看我的code哪里不对 这是我写的一个作业的代码,但是每次运行的时候文件无论如何都打不开,但是我的文档已经放进了文件夹里面,现在很无奈不知道怎么办,有好心人能帮忙解答一下吗...跪谢 #include #include #include #include using namespace std; const int MAX_ASCII=127; const int MIN_ASCII= 0; const int NUM_ASCII=128; int main() { int

matlab simulink-请大神看看我的自抗扰控制框图搭的是否正确

问题描述 请大神看看我的自抗扰控制框图搭的是否正确 请大神帮忙看看是否正确? 解决方案 http://www.ilovematlab.cn/thread-453705-1-1.html

path-c++代码,请高手帮我看一下这个代码怎么修改

问题描述 c++代码,请高手帮我看一下这个代码怎么修改 return 0; } TCHAR szPath[MAX_PATH] = { 0 }; HRESULT hr; hr = SHGetFolderPath(NULL, CSIDL_PERSONAL, NULL, SHGFP_TYPE_CURRENT, szPath); if(SUCCEEDED(hr)) { CString strPath = szPath; strPath += _T("\temp"); hr = ::URLDow

c语言acm1003 求大神看看我的代码哪错了

问题描述 c语言acm1003 求大神看看我的代码哪错了 Given a sequence a[1],a[2],a[3]......a[n], your job is to calculate the max sum of a sub-sequence. For example, given (6,-1,5,4,-7), the max sum in this sequence is 6 + (-1) + 5 + 4 = 14. Input The first line of the input