0

次のコードはNullPointerExceptionをスローしています-問題がどこにあるのかわかりません。バックエンドとしてExcelスプレッドシートを使用しています。

//actionlistener for btnfetch
btnfetch.addActionListener(new ActionListener() 
{
    public void actionPerformed(ActionEvent ae) 
    {
        try
        {
            String name="";
            d1 = (java.util.Date)formatter.parse(textdate.getText());
            java.sql.Date sqlDate = new java.sql.Date(d1.getTime());
            java.sql.Date sqld=null;

            ResultSet rs=st.executeQuery("select * from [ARNUM$]");
            String getname=null;

            while(rs.next())
            {
                getname=rs.getString(1);
                sqld=rs.getDate(2);

                System.out.println(getname+"  "+sqld+"  "+sqlDate);

                if(sqlDate.compareTo(sqld)==0)
                {  
                    name=name+"  "+getname;
                    name=name.toUpperCase();
                }
                System.out.println(name);

            }


            if(name.length()==0)
            {
                JOptionPane.showMessageDialog(
                    pnlp4,
                    "No Name having "+textdate.getText(),
                    "Warning",
                    JOptionPane.WARNING_MESSAGE
                );
            }
            else
            {
                textname.setText(name);
            }
        }
        catch(Exception e)
        {         
            e.printStackTrace();
        }
    }//end actionPerformed
}); //end addActionListener
4

1 に答える 1

0

のフィールド値はsqldnullである可能性があります。残念ながらsqlDate.compareTo(null)、NullPointerExceptionがスローされます。(他のcompareToはより適切に動作します。)

于 2012-06-11T23:17:07.473 に答える