高手请看!!!

stupidball 2001-06-15 03:53:00
我用这个来显示出查询的结果,有什么问题?会出现以下错误!!!
javax.servlet.ServletException: [Microsoft][ODBC Driver Manager] Invalid cursor state

<jsp:useBean id="socialexBean" scope="page" class="socialexp.socialBean" />
<%@ page language="java" import="java.sql.*"%>
<%@ page contentType="text/html;charset=gb2312"%>
<%!
String Query_name="SELECT name FROM student WHERE class=";
String classnumber;
%>
<HTML>
<HEAD>
</HEAD>
<BODY>
<%
classnumber=request.getParameter("schoolcontent");
if(classnumber!="请选择"){
ResultSet RSS=socialexBean.executeQuery(Query_name+classnumber);
%>
<%
while(RSS.next())%>
<%
out.print("<tr><td>"+RSS.getString("name")+"</tr>");
RSS.close();
}
%>
</table>
</BODY>
</HTML>
...全文
187 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
mikej 2001-06-16
  • 打赏
  • 举报
回复
弄反了吧
classnumber=new String(request.getParameter("schoolcontent").getBytes("iso8859-1") , "GB2312")) ;
用的是weblogic吧 .显示在页面上需要转换成GBK的形式,
强烈建议写成一个class,封装一下,这样就可以轻松解决乱麻问题.

headstream 2001-06-16
  • 打赏
  • 举报
回复
classnumber=new String(request.getParameter("schoolcontent").getBytes("gb2312") , "iso8859-1"))
stupidball 2001-06-16
  • 打赏
  • 举报
回复
从classnumber=request.getParameter("schoolcontent");中取得
的是乱码;
rover 2001-06-16
  • 打赏
  • 举报
回复
同意steven_cheng
stupidball 2001-06-16
  • 打赏
  • 举报
回复
求求各位了
stupidball 2001-06-15
  • 打赏
  • 举报
回复
也不行
steven_cheng 2001-06-15
  • 打赏
  • 举报
回复
错了
ResultSet RSS=socialexBean.executeQuery(Query_name+"'"+classnumber+"'");
试试
steven_cheng 2001-06-15
  • 打赏
  • 举报
回复
ResultSet RSS=socialexBean.executeQuery(Query_name+"'"+classnumber"'");
试试
stupidball 2001-06-15
  • 打赏
  • 举报
回复
package socialexp;
import java.sql.*;

public class socialBean {
String DDriver="sun.jdbc.odbc.JdbcOdbcDriver";
String CStr="jdbc:odbc:socialex";
Connection conn=null;
ResultSet rs=null;

public socialBean() {
try{
Class.forName(DDriver);
}
catch(java.lang.ClassNotFoundException e){
System.err.println("socialex():"+e.getMessage());
}
}
public ResultSet executeQuery(String sql){
rs=null;
try{
conn=DriverManager.getConnection(CStr);
Statement jdbcs=conn.createStatement();
rs=jdbcs.executeQuery(sql);
}
catch(SQLException ex){
System.err.println("aq.executeQuery:"+ex.getMessage());
}
return rs;
}
}
lci21 2001-06-15
  • 打赏
  • 举报
回复
把你的socialBean粘出来看看
stupidball 2001-06-15
  • 打赏
  • 举报
回复
不行
lci21 2001-06-15
  • 打赏
  • 举报
回复
在ResultSet RSS=socialexBean.executeQuery(Query_name+classnumber);
后面加上RSS.next();
试试!

81,116

社区成员

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

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