为啥我不断收到此空指针未知来源错误?

Posted

技术标签:

【中文标题】为啥我不断收到此空指针未知来源错误?【英文标题】:Why do I keep getting this null pointer unknown source error?为什么我不断收到此空指针未知来源错误? 【发布时间】:2011-04-18 01:11:41 【问题描述】:
org.apache.jasper.JasperException: An exception occurred processing JSP page /customerDelete.jsp at line 39

java.lang.NullPointerException
sun.jdbc.odbc.JdbcOdbcPreparedStatement.clearParameter(Unknown Source)

我在努力

      //get parameters from the request 
      String firstName=request.getParameter("first_Name");  
      String lastName=request.getParameter("last_Name");    


 preparedStatement = conn.prepareStatement("DELETE FROM customer "
                                            + " WHERE customer.first_Name= " +firstName
                    + " AND customer.last_Name= " +lastName);

 preparedStatement.setString(1, firstName); // line 39
 preparedStatement.setString(2, lastName);

 preparedStatement.executeUpdate();

SQL 表

          CREATE TABLE customer
    (cust_ID        NUMBER          NOT NULL,
    sale_ID             NUMBER          NOT NULL,
    first_Name      VARCHAR2(30)        NOT NULL,
    mI          VARCHAR2(2)         ,
    last_Name       VARCHAR2(50)        NOT NULL,
    street_Name     VARCHAR2(50)        ,
    city            VARCHAR2(30)        NOT NULL,
    state           VARCHAR2(50)        NOT NULL,
    zip_Code        VARCHAR2(5)     NOT NULL,
    DOB         DATE            ,
    agent_ID        NUMBER              ,
    home_Phone      VARCHAR2(12)        UNIQUE,         
    cell_Phone      VARCHAR2(12)        UNIQUE,
    profession      VARCHAR2(30)            ,
    employer        VARCHAR2(30)            ,
    referrer        VARCHAR2(30)            
    );      

【问题讨论】:

这是一个完整的 DELETE 语句吗?您指的是 last_Name,但您似乎也打算使用 first_Name。 【参考方案1】:

在 prepareStatement 中使用这样的语法

delete from customer where customer.last_Name= ? and customer.first_Name= ? 

定义查询参数。 之后,您可以将参数设置为prepareStatement。 NPE 发生是因为您试图设置缺少的 sql 语句参数。

【讨论】:

+1 @Vik:是的,你准备好的语句是硬编码的 SQL 语句。您需要在其中一个或另一个之间进行选择。【参考方案2】:

很可能,firstName 为空。

【讨论】:

以上是关于为啥我不断收到此空指针未知来源错误?的主要内容,如果未能解决你的问题,请参考以下文章

初学者:空指针异常

Java Swing中的空指针异常[关闭]

当我尝试传递链表的头指针时,我不断收到错误消息

大神来解答,JAVA中,我想用一个类存放多个数据,为啥报空指针错误?(代码如下)

数组空指针异常错误

空指针指向 addView