微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

获取异常:java.sql.SQLException:对空结果集进行非法操作

如何解决获取异常:java.sql.SQLException:对空结果集进行非法操作

下面是我的代码,基本上我实现了 sqlquery,我希望如果结果存在于表中,则程序继续使用 if 条件,否则如果结果为空,则 else 条件将运行。 当我的查询结果为空集时出现异常,我不知道如何解决查询。在多次尝试调试后,我要找出发生此问题的位置。它发生在 if else 语句中。 If-else 语句代码

while(!bool){
        try {
            rs = c.s.executeQuery("select * from employee where cnic = '"+s9+"'");
            rs.next();
            tempCnic = rs.getString("cnic");
            if(tempCnic.equals(s9)){
                JOptionPane.showMessageDialog(null,"This CNIC Number is Already Registered");
                s9 = JOptionPane.showInputDialog("Enter a correct CNIC Number:");
            } else if(tempCnic == null) {
                bool = true;
                c.s.executeUpdate("insert into employee values('"+s1+"','"+s2+"','"+s3+"','"+s4+"','"+s5+"','"+s6+"','"+s7+"','"+s8+"','"+s9+"','"+s10+"'");        
                JOptionPane.showMessageDialog(null,"Employee Added Successfully");
                new EmployeeMenu().setVisible(true);
                setVisible(false);
            }
        } catch (sqlException ex) {
            Logger.getLogger(AddEmployee.class.getName()).log(Level.SEVERE,null,ex);
        } catch(NumberFormatException ex){
            JOptionPane.showMessageDialog(null,"Please enter a valid Number");
        }
    }

完整代码

JButton btnAdd = new JButton("Add");
btnAdd.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
        conn c = new conn();
        String radio = null;
        
        if(male.isSelected()){ 
            radio = "Male";
        }
        else if(female.isSelected()){
            radio = "Female";
        }
     
    String s1 = (String)ID;
        String s2 = txtfirstname.getText();
        String s3 = txtlastname.getText();
        String s4 = txtage.getText();
        String s5 = radio;
        String s6 = (String)comboBox2.getSelectedItem();
        String s7 = txtsalary.getText();
        String s8 = txtphone.getText();
        String s9 = txtcnic.getText();    
        String s10 = txtemail.getText();
        
        ResultSet rs;
        String tempCnic;
        boolean bool = false;
        while(!bool){
            try {
                rs = c.s.executeQuery("select * from employee where cnic = '"+s9+"'");
                rs.next();
                tempCnic = rs.getString("cnic");
                if(tempCnic.equals(s9)){
                    JOptionPane.showMessageDialog(null,"This CNIC Number is Already Registered");
                    s9 = JOptionPane.showInputDialog("Enter a correct CNIC Number:");
                } else if(tempCnic == null) {
                    bool = true;
                    c.s.executeUpdate("insert into employee values('"+s1+"','"+s10+"'");        
                    JOptionPane.showMessageDialog(null,"Employee Added Successfully");
                    new EmployeeMenu().setVisible(true);
                    setVisible(false);
                }
            } catch (sqlException ex) {
                Logger.getLogger(AddEmployee.class.getName()).log(Level.SEVERE,ex);
            } catch(NumberFormatException ex){
                JOptionPane.showMessageDialog(null,"Please enter a valid Number");
            }
        }
    }
});

请帮帮我,告诉我我犯了什么错误。谢谢!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?