maqiyuan22 2022-05-01 10:42 采纳率: 50%
浏览 5486
已结题

怎么解决jsp网页无法输出结果 Statement.executeQuery() cannot issue statements that do not produce result sets.

问题遇到的现象和发生背景

写jsp学生信息查询的网页报错出不了结果
java.sql.SQLException: Statement.executeQuery() cannot issue statements that do not produce result sets.

问题相关代码,请勿粘贴截图

<%@ page language="java" contentType="text/html;charset=utf-8" import="java.sql.*"%>

<title>学生信息管理系统</title>
<table width="800px"  border="0" align="center">
      <tr height="100" bgcolor="#D9D816" align="center"> 
    <td  colspan="2"  ><h1>学生信息管理系统</h1></td>
  </tr>
  
      
  <tr> 
    <td width="20%" height="380" bgcolor="#C7C6C6"  valign="top">
    <font color="#60579A" size="+1">
    <h3>学生信息</h3>
    <A href="../ex3/StuAddIpt.jsp">信息新增 </A><br>
    <A href="../ex3/StuQryIpt.jsp">信息查询 </A><br>
    <A href="../ex3/StuQryIpt.jsp">信息修改 </A><br>
    <A href="../ex3/StuQryIpt.jsp">信息删除 </A><br>
    
    </td>
    
            
    <td width="81%" bgcolor="#F5E2E2" align="center"   valign="top"  >
    <font color="#000000" >              
    
        <h2 >学生信息查询列表</h2>
      
    <table width="460" border="1" cellspacing="0" bgcolor="#BCE1EF">

    <tr>
        <th>学号</th>
        <th>姓名</th>
        <th>性别</th>
        <th>年龄</th>
        <th>院系</th>
            
      </tr>
        <%
        String strStuID="";
        String strStuName="";
        String strSex="";
        String strAge="";
        String strDept="";
        
        
        strStuID = request.getParameter("txtStuID");
        strStuName = request.getParameter("txtStuName");
        strSex = request.getParameter("rdoSex");
        strAge = request.getParameter("slctAge");
        strDept = request.getParameter("slctDept");
        
        
        String url,sql; 
        Connection conn;
        Statement stmt;
        ResultSet rs;
        
        sql = "select * from baseinfo";

        if( request.getParameter("txtStuID") != null  && !(request.getParameter("txtStuID")).trim().equals("") )
        {
         strStuID = request.getParameter("txtStuID");
         sql = sql + " where sid = '" + strStuID + "'";
    
        }

        try{
            
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            
            url ="jdbc:mysql://localhost:3306/student?serverTimezone=GMT%2B8";      

            conn=DriverManager.getConnection(url,"root","123456");      
            
            stmt=conn.createStatement();

            sql="insert into baseinfo(sid,sname,ssex,sage,sdept) values('"+strStuID+"','"+strStuName+"','"+strSex+"','"+strAge+"','"+strDept+"')";
            
            rs = stmt.executeQuery(sql);
            
            
            System.out.println(sql);
            
            while(rs.next()){
            %>
                
                <tr>
                <td><a href="StuDetailOpt.jsp?txtStuID=<%=rs.getString("sid")%>"> <%=rs.getString("sid")%> </a></td>
                <td><%=rs.getString("strStuName")%> </td>
                <td><%=rs.getString("strDept")%> </td>
                <td><a href="StuModifyIpt.jsp?txtStuID=<%=rs.getString("sid")%>"> 修改 </a></td>
                <td><a href="StuDetailOpt.jsp?txtStuID=<%=rs.getString("sid")%>"> 删除 </a></td>        
                    
                </tr>
                
            <%
            }
            
            rs.close();            
            stmt.close();
            conn.close();
        }
          catch(Exception e){
            out.println(e);            
        }

        
        %>
        
</body>
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果
  • 写回答

1条回答 默认 最新

  • go_with_dream 2022-05-01 11:54
    关注

    您的sql语句为写入语句,不会返回result set, 除非是获取语句,所以第80行是不会有next方法的

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 5月9日
  • 已采纳回答 5月1日
  • 创建了问题 5月1日

悬赏问题

  • ¥35 平滑拟合曲线该如何生成
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站