Java连接数据库添加数据时避免重复提示的解决方案?

新手上路,请多包涵

Java连接数据库添加数据有重复的提示并不添加

//点击确定,新增宿舍

function qd() {
    //新增宿舍的时候 我们需要哪些数据?
    //1。宿舍名字
    let dormName=$("#name").val();
    //2.宿舍类型的id   可住人数  这两个数据可以根据类型的名称去查询到
    let typeName=$("#classid").val();
    //去查询
    $.get(`${url}/selectDormTypeByNum`,{name:typeName},function (result) {
        //取出宿舍类型的id  以及可住人数
        let typeId=result[0].id;
        let num=result[0].num;
        let buildingId=$("#buildingId").val();
        $.get(`${url}/addDorm`,{dormName:dormName,kz:num,dormType:typeId,building:buildingId},function (result) {
            $("#addmodal").html("");
            if (result.affectedRows>0) {
                return Collections.singletonMap("status", "error").put("message", "宿舍号重复");
            }
            /*if (result.affectedRows>0){
                alert("添加成功");
                $("#addmodal").modal("hide");
                select();
            }else{
                alert("宿舍号重复");
            }*/
            

        })
    })
}

此处为宿舍楼效果图
图片
此处为添加宿舍以后的效果图
图片

想要效果添加宿舍,宿舍号重复时不添加并提示

阅读 448
avatarAI BotBETA

在Java中连接数据库并添加数据时,要避免重复添加并提示用户,通常的做法是在添加数据前进行检查,确保要添加的数据在数据库中不存在。这通常涉及到查询数据库,检查要添加的数据是否已经存在。

以下是一个简单的示例,展示了如何在Java中使用JDBC(Java Database Connectivity)连接数据库,并在添加数据前进行检查:

import java.sql.*;

public class AddDataExample {
    public static void main(String[] args) {
        String url = "jdbc:mysql://localhost:3306/your_database";
        String username = "your_username";
        String password = "your_password";
        String dormName = "your_dorm_name"; // 这里应该是从用户输入或其他地方获取的值

        try (Connection connection = DriverManager.getConnection(url, username, password)) {
            String checkQuery = "SELECT COUNT(*) FROM your_table WHERE dorm_name = ?";
            PreparedStatement checkStatement = connection.prepareStatement(checkQuery);
            checkStatement.setString(1, dormName);
            ResultSet rs = checkStatement.executeQuery();

            if (rs.next() && rs.getInt(1) > 0) {
                // 如果查询结果大于0,说明宿舍名已经存在,不添加数据并提示用户
                System.out.println("宿舍号重复,不添加数据");
            } else {
                // 如果宿舍名不存在,则添加数据
                String insertQuery = "INSERT INTO your_table (dorm_name, ...) VALUES (?, ...)";
                PreparedStatement insertStatement = connection.prepareStatement(insertQuery);
                insertStatement.setString(1, dormName);
                // 设置其他参数...
                int rowsInserted = insertStatement.executeUpdate();
                if (rowsInserted > 0) {
                    System.out.println("数据添加成功");
                } else {
                    System.out.println("数据添加失败");
                }
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

在这个示例中,我们首先使用PreparedStatement查询数据库,检查要添加的宿舍名是否已存在。如果存在,则不添加数据并提示用户。如果不存在,则使用另一个PreparedStatement添加数据。

请注意,你需要根据你的数据库配置、表结构和需求来修改这个示例。此外,使用try-with-resources语句可以确保数据库连接在使用后被正确关闭。

在你的JavaScript代码中,当服务器返回“宿舍号重复”的错误时,你可以通过修改DOM元素或显示一个警告消息来通知用户。例如,你可以使用jQuery来更新页面上的某个元素,或者使用alert()函数显示一个警告框。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题