如何解决获取异常: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 举报,一经查实,本站将立刻删除。