数据库问题,请高手帮忙!!

djlzxzy 2003-08-23 12:25:39
我想从数据库读取数据,程序如下:

<jsp:useBean id="show" class="show.show" scope="page" />
<%String title=(String) session.getValue("t");
ResultSet rs=show.executeQuery("select * from guestbook where title=' "+title+" ' ");
String xintie=rs.getString("title");
%>

怎么会出现如下错误的?请帮帮我的忙!!
A Servlet Exception Has Occurred
Exception Report:
javax.servlet.ServletException: [Microsoft][ODBC 驱动程序管理器] 无效的游标状态
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:481)
at _0002findex_0002ejspindex_jsp_6._jspService(_0002findex_0002ejspindex_jsp_6.java:214)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:184)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:328)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:407)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:251)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:977)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:196)
at org.apache.catalina.valves.ValveBase.invokeNext(ValveBase.java:242)
at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:242)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:975)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2041)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
at org.apache.catalina.valves.ValveBase.invokeNext(ValveBase.java:242)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:414)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:975)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:159)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:977)
at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:818)
at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:897)
at java.lang.Thread.run(Thread.java:536)

...全文
61 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
seaman0916 2003-08-23
  • 打赏
  • 举报
回复
<jsp:useBean id="show" class="show.show" scope="page" />
<%
String title=(String) session.getValue("t");
ResultSet rs=show.executeQuery("select * from guestbook where title=' "+title+" ' ");
while(rs.next())
{
String xintie=rs.getString("title");
}
%>

你的错误原因是: 没有使用rs.next();rs是一个查询结果集,它刚开始是指针指向第0个的,
所以你必须使用rs.next(),使指针向后移动! 1,2,.....调用rs.getString("title");才会有结果的!
ywh005 2003-08-23
  • 打赏
  • 举报
回复
上面那位是对的,要加上while(rs.next()){}这样是循环读出。
gisgeoboy 2003-08-23
  • 打赏
  • 举报
回复
<jsp:useBean id="show" class="show.show" scope="page" />
<%String title=(String) session.getValue("t");
ResultSet rs=show.executeQuery("select * from guestbook where title=' "+title+" ' ");
while(rs.next())
{
String xintie=rs.getString("title");
}
%>
试一试,看行不行?
weichenggao 2003-08-23
  • 打赏
  • 举报
回复
同意,rs.next()是向下移动指针。rs.previous()是向上移动指针

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧