Existing Employee no Added again问题使用java mysql

我正在创建一个简单的员工休假工资单系统。我在添加休假详细信息时遇到了问题。请假详细信息重复。我正在为在公司工作的所有员工输入休假信息。当新员工加入时,我向他们输入休假信息。现有员工也再次添加。我在下面显示屏幕截图图像。发生了什么

离开桌子

在此处输入图像描述

登记表

在此处输入图像描述

当新员工加入时,只添加新员工。现有员工不应再次添加。到目前为止我尝试了什么我附在下面。

我试过的代码附在下面。

Class.forName("com.mysql.jdbc.Driver");

        con = DriverManager.getConnection("jdbc:mysql://localhost/spay","root","");           

        con.setAutoCommit(true);

        stmt = con.createStatement();


       ResultSet rs = stmt.executeQuery("select empno from registation");


        while (rs.next()) {

          String empvalue = rs.getString("empno");

            pst = con.prepareStatement("insert into leaves(empno,casual,annual,medical,year)values(?,?,?,?,?)");

            pst.setString(1,empvalue); // employee no how to give 

            pst.setString(2, cas);

            pst.setString(3, anu);

            pst.setString(4, med);

            pst.setString(5, year);         

            pst.executeUpdate();



        }

            JOptionPane.showMessageDialog(null,"Leave Insertedddddd");


森栏
浏览 101回答 1
1回答

holdtom

当您执行此操作时select empno from registation,它将从注册表中选择所有 empno ...结果集将包含所有用户...所以当你这样做时,while (rs.next()) { //rs now has all the employee      String empvalue = rs.getString("empno");        pst = con.prepareStatement("insert into leaves(empno,casual,annual,medical,year)values(?,?,?,?,?)");        pst.setString(1,empvalue); // employee no how to give         pst.setString(2, cas);        pst.setString(3, anu);        pst.setString(4, med);        pst.setString(5, year);                 pst.executeUpdate();    }它再次添加了所有员工......你可以做的是,在select empno from registation......例如。仅选择具有“001”empno 的单个用户:SELECT empno FROM registation WHERE empno = '001';要选择多个员工,您可以使用类似下面的操作...SELECT empno FROM registation WHERE empno = '001' OR empno = '002' OR empno = '003'; 为此,您可以OR empno = '00X'根据需要在后面附加任意数量或者要选择表中的最后一个条目:SELECT empno FROM registation ORDER BY id DESC LIMIT 1;
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java