JDBC-练习--添加---查询--修改--任意学生信息的提交页面

目录

JDBC-练习--添加任意学生信息的提交页面

配置mysql驱动

建立student数据库

建表单(添加数据)

提交判断

 数据库收集到的数据

显示所有学生信息的页面

代码

运行结果​编辑

查询条件提交显示信息

代码: 

运行结果:

修改单条记录页面

代码: 

运行结果:

数据库中更新:

根据条件来修改记录(3个jsp页面完成)

代码: 

修改记录提交页面

修改编辑页面

修改后重写页面

运行结果:

 数据库中:

根据条件来修改记录---添加空值判断和处理(版本)

代码:

2-

3-

页面展示: 


JDBC-练习--添加任意学生信息的提交页面

  • 配置mysql驱动

把下面的代码复制粘贴到项目的pom,xml文件中,然后刷新maven 

    <!--mysql驱动-->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>8.0.32</version>
    </dependency>
  • 建立student数据库

CREATE DATABASE students CHARACTER SET utf8;
USE students;
CREATE TABLE stu_info ( id INT, NAME VARCHAR ( 20 ), sex VARCHAR ( 5 ), age INT, weight FLOAT, height FLOAT );
  • 建表单(添加数据)

<%--
  Created by IntelliJ IDEA.
  User: CaptainDong
  Date: 2023/4/4
  Time: 18:09
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>添加任意学生信息的提交页面</title>
</head>
<body>
<h2 align="center">
    学生身体体质信息管理系统
</h2>
<br>
<form action="insert_stu_2.jsp" method="post">
    <table border="0" width="238" height="252" align="center">
        <tr>
            <td>
                学号:
            </td>
            <td>
                <input type="text" name="id">
            </td>
        </tr>
        <tr>
            <td>
                姓名:
            </td>
            <td>
                <input type="text" name="name">
            </td>
        </tr>
        <tr>
            <td>
                性别:
            </td>
            <td>
                <input type="text" name="sex">
            </td>
        </tr>
        <tr>
            <td>
                年龄:
            </td>
            <td>
                <input type="text" name="age">
            </td>
        </tr>
        <tr>
            <td>
                体重:
            </td>
            <td>
                <input type="text" name="weight">
            </td>
        </tr>
        <tr>
            <td>
                身高:
            </td>
            <td>
                <input type="text" name="height">
            </td>
        </tr>
        <tr align="center">
            <td colspan="2">
                <input type="submit" value="提交">
                <input type="reset" value="取消">
            </td>
        </tr>
    </table>
</form>
</body>
</html>

  • 提交判断

<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.DriverManager" %>
<%@ page import="java.sql.PreparedStatement" %><%--
  Created by IntelliJ IDEA.
  User: CaptainDong
  Date: 2023/4/4
  Time: 18:12
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>利用PreparedStatement对象添加一条记录页面</title>
    <style>
        div{
            display: flex;
            justify-content: center; /* 在主轴方向上居中 */
            align-items: center; /* 在交叉轴方向上居中 */
            height: 100vh; /* 设置高度为整个视口高度 */
            font-size: 40px;
        }
    </style>
</head>
<body>
<%
    String url="jdbc:mysql://localhost:3306/students";
    String username="root";
    String password="**********";
    Class.forName("com.mysql.cj.jdbc.Driver");
    Connection connection= DriverManager.getConnection(url,username,password);

    String sql="insert into stu_info(id,name,sex,age,weight,height) value(?,?,?,?,?,?)";
    PreparedStatement preparedStatement=connection.prepareStatement(sql);
    request.setCharacterEncoding("UTF-8");
    int id=Integer.parseInt(request.getParameter("id"));
    String name=request.getParameter("name");
    String sex=request.getParameter("sex");
    int age=Integer.parseInt(request.getParameter("age"));
    float weight=Float.parseFloat(request.getParameter("weight"));
    float height=Float.parseFloat(request.getParameter("height"));

    preparedStatement.setInt(1,id);
    preparedStatement.setString(2,name);
    preparedStatement.setString(3,sex);
    preparedStatement.setInt(4,age);
    preparedStatement.setFloat(5,weight);
    preparedStatement.setFloat(6,height);

    int n=preparedStatement.executeUpdate();
    if (n==1){%>
<div align="center" font="25px">
    数据插入成功!
</div>
<%
    }
    else {
%>
<div align="center" font="25px">
    数据插入失败!
</div>
<%
    }
    if (preparedStatement!=null){
        preparedStatement.close();
    }
    if (connection!=null){
        connection.close();
    }
%>

</body>
</html>

 

  •  数据库收集到的数据

  • 显示所有学生信息的页面

代码

<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.DriverManager" %>
<%@ page import="java.sql.PreparedStatement" %>
<%@ page import="java.sql.ResultSet" %><%--
  Created by IntelliJ IDEA.
  User: CaptainDong
  Date: 2023/4/4
  Time: 21:35
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
  <title>显示所有学生信息的页面</title>
</head>
<body>
<center>
  <%
    /*注册驱动并建立数据库连接*/
    String url="jdbc:mysql://localhost:3306/students";
    String username="root";
    String password="123**";
    Class.forName("com.mysql.cj.jdbc.Driver");
    Connection connection= DriverManager.getConnection(url,username,password);

    String sql="select *from stu_info";
    PreparedStatement preparedStatement=connection.prepareStatement(sql, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
    ResultSet resultSet=preparedStatement.executeQuery();

    resultSet.last();//移动到最后一条记录
  %>
  <div>
    你要查的学生数据表中共有
  </div>
  <font size="5" color="red">
    <%=
    resultSet.getRow()
    %>人
  </font>
  <div>
    <table border="2" bgcolor="ccceee" width="650">
      <tr bgcolor="CCCCCC">
        <td>
          记录条数
        </td>
        <td>
          学号
        </td>
        <td>
          姓名
        </td>
        <td>
          性别
        </td>
        <td>
          年龄
        </td>
        <td>
          体重
        </td>
        <td>
          身高
        </td>
      </tr>

      <%
        resultSet.beforeFirst();//移动到第一条记录之前
        while (resultSet.next()){
      %>
      <tr align="center">
        <td>
          <%=
          resultSet.getRow()
          %>
        </td>
        <td>
          <%=resultSet.getString("id")%>
        </td>
        <td>
          <%=resultSet.getString("name")%>
        </td>
        <td>
          <%=resultSet.getString("sex")%>
        </td>
        <td>
          <%=resultSet.getString("age")%>
        </td>
        <td>
          <%=resultSet.getString("weight")%>
        </td>
        <td>
          <%=resultSet.getString("height")%>
        </td>
      </tr>
      <% }%>
    </table>
  </div>
</center>
<%
  if (resultSet!=null)
    resultSet.close();
  if (preparedStatement!=null)
    preparedStatement.close();
  if (connection!=null)
    connection.close();
%>
</body>
</html>


运行结果

对比数据库表: 


  • 查询条件提交显示信息

代码: 

<%--
  Created by IntelliJ IDEA.
  User: CaptainDong
  Date: 2023/4/5
  Time: 10:04
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>查询条件提交页面</title>
</head>
<body>
<div>
  请选择查询条件:
</div>
<hr width="100%" size="3">
<form action="find_stu_3.jsp" method="post">
  性别: 男<input type="radio" value="男" name="sex" checked="checked">
         女<input type="radio" value="女" name="sex">
  <div>
    体重范围:
  </div>
  <p>
  <div>
    最小:&nbsp;<input type="text" name="w1" value="0">
  </div>
  <div>
    最大:&nbsp;<input type="text" name="w2" value="150">
  </div>
  </p>
  <br>
  <div>
    <input type="submit" value="提交">&nbsp;&nbsp;
    <input type="reset" value="取消">
  </div>
</form>
</body>
</html>
<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.DriverManager" %>
<%@ page import="java.sql.PreparedStatement" %>
<%@ page import="java.sql.ResultSet" %><%--
  Created by IntelliJ IDEA.
  User: CaptainDong
  Date: 2023/4/5
  Time: 10:17
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>显示查询的信息</title>
</head>
<body>
<center>
<%
  /*注册驱动并建立数据库连接*/
  String url="jdbc:mysql://localhost:3306/students";
  String username="root";
  String password="********";
  Class.forName("com.mysql.cj.jdbc.Driver");
  Connection connection= DriverManager.getConnection(url,username,password);

  request.setCharacterEncoding("UTF-8");//设置字符集
  String sex=request.getParameter("sex");
  float weight1=Float.parseFloat(request.getParameter("w1"));
  float weight2=Float.parseFloat(request.getParameter("w2"));
  String sql="select * from stu_info where sex=?and weight>=?and weight<=?";
  PreparedStatement preparedStatement=connection.prepareStatement(sql, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);

  preparedStatement.setString(1,sex);
  preparedStatement.setFloat(2,weight1);
  preparedStatement.setFloat(3,weight2);

  ResultSet resultSet=preparedStatement.executeQuery();
  resultSet.last();//移动到最后一条记录
%>
<div>
  你要查的学生数据表中共有
</div>
<font size="5" color="red">
  <%=
  resultSet.getRow()
  %>人
</font>
<div>
  <table border="2" bgcolor="ccceee" width="650">
    <tr bgcolor="CCCCCC">
      <td>
        记录条数
      </td>
      <td>
        学号
      </td>
      <td>
        姓名
      </td>
      <td>
        性别
      </td>
      <td>
        年龄
      </td>
      <td>
        体重
      </td>
      <td>
        身高
      </td>
    </tr>

    <%
      resultSet.beforeFirst();//移动到第一条记录之前
      while (resultSet.next()){
    %>
    <tr align="center">
      <td>
        <%=
        resultSet.getRow()
        %>
      </td>
      <td>
        <%=resultSet.getString("id")%>
      </td>
      <td>
        <%=resultSet.getString("name")%>
      </td>
      <td>
        <%=resultSet.getString("sex")%>
      </td>
      <td>
        <%=resultSet.getString("age")%>
      </td>
      <td>
        <%=resultSet.getString("weight")%>
      </td>
      <td>
        <%=resultSet.getString("height")%>
      </td>
    </tr>
    <% }%>
  </table>
</div>
<%
  if (resultSet!=null)
    resultSet.close();
  if (preparedStatement!=null)
    preparedStatement.close();
  if (connection!=null)
    connection.close();
%>
</center>
</body>
</html>

运行结果:

提交后:



  • 修改单条记录页面

代码: 

<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.DriverManager" %>
<%@ page import="java.sql.PreparedStatement" %>
<%@ page import="java.sql.ResultSet" %><%--
  Created by IntelliJ IDEA.
  User: CaptainDong
  Date: 2023/4/5
  Time: 10:57
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>修改记录页面</title>
</head>
<body>
<center>
    <%
        /*注册驱动并建立数据库连接*/
        String url = "jdbc:mysql://localhost:3306/students";
        String username = "root";
        String password = "***";
        Class.forName("com.mysql.cj.jdbc.Driver");
        Connection connection = DriverManager.getConnection(url, username, password);

        request.setCharacterEncoding("UTF-8");//设置字符集
        String sql = "update stu_info set weight=?where name=?";
        PreparedStatement preparedStatement = connection.prepareStatement(sql, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);

        preparedStatement.setFloat(1, 75);
        preparedStatement.setString(2, "迈克");

        int n = preparedStatement.executeUpdate();
        if (n==1){%>
    <div>
        数据修改成功!
    </div>
    <%
        }
        else{
    %>
    <div>
        数据修改失败!
    </div>
    <%
        }
        if (preparedStatement != null)
            preparedStatement.close();
        if (connection != null)
            connection.close();
    %>
</center>
</body>
</html>

运行结果:

数据库中更新:


  • 根据条件来修改记录(3个jsp页面完成)

代码: 

修改记录提交页面

<%--
  Created by IntelliJ IDEA.
  User: CaptainDong
  Date: 2023/4/5
  Time: 11:49
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>修改记录提交页面</title>
</head>
<body>
<div align="center">
  请选择修改记录所满足的条件:
</div>
<hr width="100%" size="3">
<form action="update_stu_2_edit.jsp" method="post">
  <table align="center">
    <tr>
      <td>
        姓名:
      </td>
      <td>
        <input type="text" name="name">
      </td>
    </tr>
    <tr>
      <td>
        性别:
      </td>
      <td>
        男<input type="radio" value="男" name="sex" checked="checked">
        女<input type="radio" value="女" name="sex">
      </td>
    </tr>
    <tr>
      <td>
        <input type="submit" value="提交">&nbsp;&nbsp;
      </td>
      <td>
        <input type="reset" value="取消">
      </td>
    </tr>
  </table>
</form>
</body>
</html>

修改编辑页面

<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.DriverManager" %>
<%@ page import="java.sql.PreparedStatement" %>
<%@ page import="java.sql.ResultSet" %><%--
  Created by IntelliJ IDEA.
  User: CaptainDong
  Date: 2023/4/5
  Time: 11:50
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>修改编辑页面</title>
</head>
<body>
<center>
    <%
        /*注册驱动并建立数据库连接*/
        String url = "jdbc:mysql://localhost:3306/students";
        String username = "root";
        String password = "1222";
        Class.forName("com.mysql.cj.jdbc.Driver");
        Connection connection = DriverManager.getConnection(url, username, password);

        request.setCharacterEncoding("UTF-8");//设置字符集

        String sex = request.getParameter("sex");
        String name = request.getParameter("name");

        session.setAttribute("sex", sex);
        session.setAttribute("name", name);

        String sql = "select * from stu_info where sex=?and name=?";
        PreparedStatement preparedStatement = connection.prepareStatement(sql);
        preparedStatement.setString(1, sex);
        preparedStatement.setString(2, name);

        ResultSet resultSet = preparedStatement.executeQuery();

        if (resultSet.next()) {
            int id = resultSet.getInt("id");
            String name2 = resultSet.getString("name");
            String sex2 = resultSet.getString("sex");
            int age = resultSet.getInt("age");
            float weight = resultSet.getFloat("weight");
            float height = resultSet.getFloat("height");

            if (resultSet != null) {
                resultSet.close();
            }
            if (preparedStatement != null) {
                preparedStatement.close();
            }
            if (connection != null) {
                connection.close();
            }
    %>
    <form action="update_stu_2.jsp" method="post">
        <table border="0" width="238" height="252" align="center">
            <tr>
                <td>
                    学号:
                </td>
                <td>
                    <input name="id" value=<%=id%>>
                </td>
            </tr>
            <tr>
                <td>
                    姓名:
                </td>
                <td>
                    <input name="name2" value=<%=name2%>>
                </td>
            </tr>
            <tr>
                <td>
                    性别:
                </td>
                <td>
                    <input name="sex2" value=<%=sex2%>>
                </td>
            </tr>
            <tr>
                <td>
                    年龄:
                </td>
                <td>
                    <input name="age" value=<%=age%>>
                </td>
            </tr>
            <tr>
                <td>
                    体重:
                </td>
                <td>
                    <input name="weight" value=<%=weight%>>
                </td>
            </tr>
            <tr>
                <td>
                    身高:
                </td>
                <td>
                    <input name="height" value=<%=height%>>
                </td>
            </tr>
            <tr align="center">
                <td colspan="2">
                    <input type="submit" value="提交">&nbsp;&nbsp;&nbsp;
                    <input type="reset" value="取消">
                </td>
            </tr>
        </table>
    </form>
</center>
<%
} else {
%>
<div align="center">
    没有找到该要修改的记录!请确认信息是否正确!
</div>
<%
    }
    if (resultSet != null)
        resultSet.close();
    if (preparedStatement != null)
        preparedStatement.close();
    if (connection != null)
        connection.close();
%>
</body>
</html>

修改后重写页面

<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.DriverManager" %>
<%@ page import="java.sql.PreparedStatement" %><%--
  Created by IntelliJ IDEA.
  User: CaptainDong
  Date: 2023/4/5
  Time: 11:50
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>修改后重写页面</title>
</head>
<body>
<%
        /*注册驱动并建立数据库连接*/
        String url = "jdbc:mysql://localhost:3306/students";
        String username = "root";
        String password = "1123";
        Class.forName("com.mysql.cj.jdbc.Driver");
        Connection connection = DriverManager.getConnection(url, username, password);

        String sql="update stu_info set id=?,name=?,sex=?,age=?,weight=?,height=? where name=?and sex=?";
        PreparedStatement preparedStatement=connection.prepareStatement(sql);
        request.setCharacterEncoding("UTF-8");//设置字符集

        int id=Integer.parseInt(request.getParameter("id"));
        String name2=request.getParameter("name2");
        String sex2=request.getParameter("sex2");
        int age=Integer.parseInt(request.getParameter("age"));
        float weight=Float.parseFloat(request.getParameter("weight"));
        float height=Float.parseFloat(request.getParameter("height"));

        String name=(String) session.getAttribute("name");
        String sex=(String) session.getAttribute("sex");

        preparedStatement.setInt(1,id);
        preparedStatement.setString(2,name2);
        preparedStatement.setString(3,sex2);
        preparedStatement.setInt(4,age);
        preparedStatement.setFloat(5,weight);
        preparedStatement.setFloat(6,height);
        preparedStatement.setString(7,name);
        preparedStatement.setString(8,sex);

        int n=preparedStatement.executeUpdate();
        if (n>=1){
%>
<div align="center">
        重写操作成功!
</div>
<%
        }
        else {
%>
<div align="center">
        重写操作失败!<%=n%>
</div>
<%
        }
        if (preparedStatement!=null){preparedStatement.close();}
        if (connection!=null){connection.close();}
%>
</body>
</html>

运行结果:

 ----》》》

 -----》》》》

 数据库中:


  • 根据条件来修改记录---添加空值判断和处理(版本)

代码:

  • 1-
<%--
  Created by IntelliJ IDEA.
  User: CaptainDong
  Date: 2023/4/5
  Time: 11:49
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>修改记录提交页面</title>
</head>
<body>
<div align="center">
  请选择修改记录所满足的条件:
</div>
<hr width="100%" size="3">
<form action="update_stu_2_edit.jsp" method="post">
  <table align="center">
    <tr>
      <td>
        姓名:
      </td>
      <td>
        <input type="text" name="name">
      </td>
    </tr>
    <tr>
      <td>
        性别:
      </td>
      <td>
        男<input type="radio" value="男" name="sex" checked="checked">
        女<input type="radio" value="女" name="sex">
      </td>
    </tr>
    <tr>
      <td>
        <input type="submit" value="提交">&nbsp;&nbsp;
      </td>
      <td>
        <input type="reset" value="取消">
      </td>
    </tr>
  </table>
</form>
</body>
</html>
  • 2-

<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.DriverManager" %>
<%@ page import="java.sql.PreparedStatement" %>
<%@ page import="java.sql.ResultSet" %><%--
  Created by IntelliJ IDEA.
  User: CaptainDong
  Date: 2023/4/5
  Time: 11:50
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>修改编辑页面</title>
</head>
<body>
<center>
    <%
        /*注册驱动并建立数据库连接*/
        String url = "jdbc:mysql://localhost:3306/students";
        String username = "root";
        String password = "******";
        Class.forName("com.mysql.cj.jdbc.Driver");
        Connection connection = DriverManager.getConnection(url, username, password);

        request.setCharacterEncoding("UTF-8");//设置字符集

        String sex = request.getParameter("sex");
        String name = request.getParameter("name");

        session.setAttribute("sex", sex);
        session.setAttribute("name", name);

        String sql = "select * from stu_info where sex=?and name=?";
        PreparedStatement preparedStatement = connection.prepareStatement(sql);
        preparedStatement.setString(1, sex);
        preparedStatement.setString(2, name);

        ResultSet resultSet = preparedStatement.executeQuery();

        if (resultSet.next()) {
            int id = resultSet.getInt("id");
            String name2 = resultSet.getString("name");
            String sex2 = resultSet.getString("sex");
            int age = resultSet.getInt("age");
            float weight = resultSet.getFloat("weight");
            float height = resultSet.getFloat("height");

            if (resultSet != null) {
                resultSet.close();
            }
            if (preparedStatement != null) {
                preparedStatement.close();
            }
            if (connection != null) {
                connection.close();
            }
    %>
    <%--表单--%>
    <form action="update_stu_2.jsp" method="post" name="update-student-2" onsubmit="return validateForm()">
        <table border="0" width="238" height="252" align="center">
            <tr>
                <td>
                    学号:
                </td>
                <td>
                    <input name="id" value=<%=id%>>
                </td>
            </tr>
            <tr>
                <td>
                    姓名:
                </td>
                <td>
                    <input name="name2" value=<%=name2%>>
                </td>
            </tr>
            <tr>
                <td>
                    性别:
                </td>
                <td>
                    <input name="sex2" value=<%=sex2%>>
                </td>
            </tr>
            <tr>
                <td>
                    年龄:
                </td>
                <td>
                    <input name="age" value=<%=age%>>
                </td>
            </tr>
            <tr>
                <td>
                    体重:
                </td>
                <td>
                    <input name="weight" value=<%=weight%>>
                </td>
            </tr>
            <tr>
                <td>
                    身高:
                </td>
                <td>
                    <input name="height" value=<%=height%>>
                </td>
            </tr>
            <tr align="center">
                <td colspan="2">
                    <input type="submit" value="提交">&nbsp;&nbsp;&nbsp;
                    <input type="reset" value="取消">
                </td>
            </tr>
        </table>
    </form>
</center>
<%
} else {
%>
<div align="center">
    没有找到该要修改的记录!请确认信息是否正确!
</div>
<%
    }
    if (resultSet != null)
        resultSet.close();
    if (preparedStatement != null)
        preparedStatement.close();
    if (connection != null)
        connection.close();
%>
</body>
<script type="text/javascript">
    function validateForm() {
        let nameInput = document.forms["update-student-2"]["name2"];
        let sexInput = document.forms["update-student-2"]["sex2"];

        if (nameInput.value.trim() === "") {
            alert("姓名不能为空!");
            nameInput.focus();
            return false;
        }

        if (sexInput.value.trim() === "") {
            alert("性别不能为空!");
            sexInput.focus();
            return false;
        }

        // 在这里添加更多的数据格式校验,比如年龄应该是一个正整数等等

        return true;
    }
</script>
</html>
  • 3-

<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.DriverManager" %>
<%@ page import="java.sql.PreparedStatement" %><%--
  Created by IntelliJ IDEA.
  User: CaptainDong
  Date: 2023/4/5
  Time: 11:50
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>修改后重写页面</title>
</head>
<body>
<%
        /*注册驱动并建立数据库连接*/
        String url = "jdbc:mysql://localhost:3306/students";
        String username = "root";
        String password = "******";
        Class.forName("com.mysql.cj.jdbc.Driver");
        Connection connection = DriverManager.getConnection(url, username, password);

        String sql="update stu_info set id=?,name=?,sex=?,age=?,weight=?,height=? where name=?and sex=?";
        PreparedStatement preparedStatement=connection.prepareStatement(sql);
        request.setCharacterEncoding("UTF-8");//设置字符集


        String idStr = request.getParameter("id");
        if (idStr == null || idStr.trim().equals("")) {
                // 处理空值方法1:给定一个默认值
                idStr = "0";
        }
        int id = Integer.parseInt(idStr);


        String name2 = request.getParameter("name2");
        if (name2 == null || name2.isBlank()) {
                // 返回错误信息时,应该保留用户输入的数据,可以在这里将原始值存储到 Session 中
                session.setAttribute("error", "姓名不能为空");
                session.setAttribute("name2", name2);
                response.sendRedirect("D:\\CS\\Code\\IdeaCode\\JDBC-Demo01\\src\\main\\webapp\\update_stu_2_edit.jsp");
                return;
        }

        String sex2 = request.getParameter("sex2");
        if (sex2 == null || sex2.isBlank()) {
                // 同上,将需要展示的数据存入 Session 中
                session.setAttribute("error", "性别不能为空");
                session.setAttribute("sex2", sex2);
                response.sendRedirect("D:\\CS\\Code\\IdeaCode\\JDBC-Demo01\\src\\main\\webapp\\update_stu_2_edit.jsp");
                return;
        }
        String ageStr = request.getParameter("age");
        if (ageStr == null || ageStr.trim().equals("")) {
                ageStr = "0";
        }
        int age = Integer.parseInt(ageStr);

        String weightStr = request.getParameter("weight");
        if (weightStr == null || weightStr.trim().equals("")) {
                weightStr = "0";
        }
        float weight = Float.parseFloat(weightStr);

        String heightStr = request.getParameter("height");
        if (heightStr == null || heightStr.trim().equals("")) {
                heightStr = "0";
        }
        float height = Float.parseFloat(heightStr);

        String name=(String) session.getAttribute("name");
        String sex=(String) session.getAttribute("sex");

        preparedStatement.setInt(1,id);
        preparedStatement.setString(2,name2);
        preparedStatement.setString(3,sex2);
        preparedStatement.setInt(4,age);
        preparedStatement.setFloat(5,weight);
        preparedStatement.setFloat(6,height);
        preparedStatement.setString(7,name);
        preparedStatement.setString(8,sex);

        int n=preparedStatement.executeUpdate();
        if (n>=1){
%>
<div align="center">
        重写操作成功!
</div>
<%
        }
        else {
%>
<div align="center">
        重写操作失败!<%=n%>
</div>
<%
        }
        if (preparedStatement!=null){preparedStatement.close();}
        if (connection!=null){connection.close();}
%>
</body>
</html>

页面展示: 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

captain_dong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值