在前面用xlbh=request.getParameter("xlbh")
的方式分别得到qsrq,zzrq,sjdwbh1,xlbh并且用out.println(xlbh);的方式分别看过qsrq,zzrq,sjdwbh1,xlbh的值都是正常的。
而且也用 if(xlbh == null)xlbh="aaa";做过保护。
执行到这一步:
double result = pubc.instempcxtjb(qsrq,zzrq,sjdwbh1,xlbh);
报一个空指针错误。
百思不得其解,为什么会有空指针呢?
多谢!
这个函数是往tempcxtjb插数据 public double instempcxtjb(String qsrq,String zzrq,String sjdwbh1,String xlbh)
{
double count=0;
String str1 = "";
if(xlbh.equals("al"))
{
   str1="insert into temp_cxtjb select '*' as cxmc ,clbh as clbh, sjyxgl as xsgl,ylhj as shy,9999 as shc, 9999 as shlt,lqf as lqf,clf as clf,9999 as fyhj,9999 as pjfy,9999 as wxgs,9999 as pjgs from tldk where ldrq>='"+qsrq+"' and ldrq <='"+zzrq+"' and sjdwbh='"+sjdwbh1+"' and hdbz='1'";
}else{
   str1="insert into temp_cxtjb select '*' as cxmc ,clbh as clbh, sjyxgl as xsgl,ylhj as shy,9999 as shc, 9999 as shlt,lqf as lqf,clf as clf,9999 as fyhj,9999 as pjfy,9999 as wxgs,9999 as pjgs from tldk where ldrq>='"+qsrq+"' and ldrq <='"+zzrq+"' and xlbh='"+xlbh+"' and hdbz='1' and sjdwbh='"+sjdwbh1+"'";    
}
try{
     Connection conn = ds.getConnection();
     Statement stmt = conn.createStatement();
     count = stmt.executeUpdate(str1);
      stmt.close();
      conn.close();
     } catch (Exception e) 
     {
      System.out.print("出现例外!" + e.getMessage());
e.printStackTrace();
return -1;
     }  
return count;
}

解决方案 »

  1.   

    pubc?指什么?写在pubc.java里的函数我贴在后面了。public double instempcxtjb(String qsrq,String zzrq,String sjdwbh1,String xlbh) 谢谢
      

  2.   

    这个报空指针,pubc看了吗?
    你可以在这一步上面把可能为空的都打出来看看咯
    pubc,qsrq,zzrq,sjdwbh1,xlbh什么的
      

  3.   

    除了pubc,其他都打印出来看了,绝对没有null
    pubc里面写的全都是公用函数是一个class
      

  4.   

    pubc对象啊
    在进入方法之前就报空了 所以我很怀疑是你的pubc有问题
      

  5.   

    之前调用它的其他函数都正常,就我写的这个不正常,也用javac 编译过了,也把pubc.class考到目录了,也重启tomcat了pubc有可能哪里有问题?
      

  6.   

    还有一个比较奇怪的是,他报java.lang.NullPointerException
    但是总指向这一行有错误239:                  <%
      

  7.   

    楼主如果保证qsrq,zzrq,sjdwbh1,xlbh这些字符串全部没有null的情况下,再试试打印以下pubc对象,看看pubc对象是否是null,如果pubc对象是null的情况下也会出现空指针异常。
      

  8.   

    返回值是false
    难道真是这里的问题?System.out.println(pubc==null);打印出来false
      

  9.   

    不对,打印出来false应该说明不为null啊
      

  10.   

    Java 技术交流群!入群先看公约!本群公约:互助、互勉、共同进步!惑则问、知则答、不知则表示关注。帮助新手、细心回答。 
    同意上述公约者·申请加入!  
    QQ群号:25922618