我点击下一个,上一个按钮应该出来正确的数据的,可读取到的数据有的正确,有的错误
 if(SqlDB.rs.getString("eng").equals("四级")){//这里是指出出错的地方
                encb.setSelectedIndex(0);}
              else if(SqlDB.rs.getString("eng").equals("六级")){
                encb.setSelectedIndex(1);}
              else{
                 encb.setSelectedIndex(2);
              }
每次到英语成绩为空的人员时就会抛出异常,
谢谢大家了帮我看看啊 急切!!
以下的异常是说这是空?
我对JComboBox encb初始化了啊,“下一个”按钮也初始化了
AbstractButton.fireActionPerformed(AbstractButton.java:1786)是什么意思?错误提示如下:
java.lang.NullPointerException at hrapp.AddDm$3.actionPerformed(AddDm.java:528) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1786) at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1839) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:245) at java.awt.Component.processMouseEvent(Component.java:5100) at java.awt.Component.processEvent(Component.java:4897) at java.awt.Container.processEvent(Container.java:1569) at java.awt.Component.dispatchEventImpl(Component.java:3615) at java.awt.Container.dispatchEventImpl(Container.java:1627) at java.awt.Component.dispatchEvent(Component.java:3477) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128) at java.awt.Container.dispatchEventImpl(Container.java:1613) at java.awt.Window.dispatchEventImpl(Window.java:1606) at java.awt.Component.dispatchEvent(Component.java:3477) at java.awt.EventQueue.dispatchEvent(EventQueue.java:456) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137) at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)

解决方案 »

  1.   

    SqlDB.rs.getString("eng") 如果是null不能用null.equels("XXX")吧?你要先进行deNull操作之后再调用equels进行比较public String deNull( String str )
    {
        return str == null ? "":str;
    }
      

  2.   

    public String deNull( String str ) 

        return str == null ? "":str; 
    }
    String english=deNull(String SqlDB.rs.getString("eng"))
    if(english.equals("四级")){//这里是指出出错的地方 
            encb.setSelectedIndex(0);} 
    else if(english.equals("六级")){ 
           encb.setSelectedIndex(1);} 
        else{ 
            encb.setSelectedIndex(2); 
                } 
    是这样么?
      

  3.   

    String english=deNull(String SqlDB.rs.getString("eng")) 
    改为
    String english=deNull(SqlDB.rs.getString("eng"));
      

  4.   

    if(SqlDB.rs.getString("eng").equals("四级")){//这里是指出出错的地方 
    其实上面的写法就有问题,在常量与变量比较时应该将常量放前面:
    if("四级".equals(SqlDB.rs.getString("eng"))){