JSP Web 应用开发 数据库 executeUpdate()方法抛出异常

JSP Web 应用开发 数据库
executeUpdate()方法抛出异常

img

个人查错定位到24行
运行到23行输出2,抛出SQLExcepion异常输出1,3未输出求解

img

源代码

<%--
  Created by IntelliJ IDEA.
  User: 26316
  Date: 2023/3/19
  Time: 19:50
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="java.sql.*" %>


    Title


<%
    Connection conn = null;
    Statement stmt = null;
    try {
        Class.forName("com.mysql.jdbc.Driver");
        String url = "jdbc:mysql://localhost:3306/jqe_school?characterEncoding=utf-8";
        conn = DriverManager.getConnection(url,"root","newpassword");
        stmt = conn.createStatement();
        String sql = "insert into Student values(907,'李强','男',1990,'电子系','北京市西城区')";out.println("2");
        int num = stmt.executeUpdate(sql);out.println("3");
        stmt.close();
        conn.close();
        out.print("插入数据影响的行数为"+num);
    }catch (ClassNotFoundException e){
        e.printStackTrace();
    }catch (SQLException e){
        out.println("1");
        e.printStackTrace();
    }
%>




保存时,报错了。
看下控制台的异常信息,应该是有提示的。

img

根据代码和错误信息的描述,可以猜测在第 24 行出现了问题,导致程序抛出了 SQLException 异常。具体问题需要进一步分析代码和异常信息。

根据代码分析,第 24 行是执行 SQL 语句的语句,即执行 "stmt.executeUpdate(sql)"。因此,可以猜测出现了 SQL 语法错误或执行错误。具体原因可能是表名或字段名拼写错误、数据类型不匹配等问题,需要进一步检查 SQL 语句是否正确。

另外,根据异常信息显示只输出了 "1",没有输出其他信息。这可能是因为程序在输出 "1" 后抛出了异常,导致程序跳转到异常处理代码块,没有执行后续的输出语句。为了更好地定位问题,可以将异常处理代码块的位置移动到 try 代码块的后面,或者在异常处理代码块中添加日志输出等信息。

数据库连上了么?表结构和你的插入语句对应么

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632