【问题标题】:Null Pointer Exception in ServletServlet 中的空指针异常
【发布时间】:2011-07-28 17:53:24
【问题描述】:

我在设计一个购物 servlet 时遇到了一个相当烦人的问题。当我尝试设置这样的订单对象时,我不断收到空指针异常:

           int ccn=customer.getCcn();
            OrderList.Order order=null;
    ResultSet set=helper.selectOrder(custId);
    try{
        while (set.next()){
            orderno=set.getInt(1);
            orderDate=set.getString(2);
            shipDate=set.getString(3);
            custId=set.getString(4);
            order=list.new Order(orderno,custId,ccn);
            list.addOrder(order);

        }
        set.close();}
        catch(Exception e){
            System.out.println(e.getMessage());
        }

但如果我这样做,异常就会消失......但我的列表中充满了重复项。

            int ccn=customer.getCcn();
    ResultSet set=helper.selectOrder(custId);
    try{
        while (set.next()){
            orderno=set.getInt(1);
            orderDate=set.getString(2);
            shipDate=set.getString(3);
            custId=set.getString(4);
        }
        set.close();}
                    OrderList.Order order=list.new Order(orderno,custId,ccn);
                    list.addOrder(order);
        catch(Exception e){
            System.out.println(e.getMessage());
        }

有什么帮助吗?

【问题讨论】:

  • 你能提供哪一行给你的异常和更多的代码上下文,比如定义列表的地方吗?
  • 如果没有 stacktrace,我们将无法为您提供帮助。
  • @kenju 请停止做无关的编辑

标签: java mysql resultset


【解决方案1】:

这是一个粗略的、未受过教育的(如果有人能这么说的话)猜测,所以就这样吧。

如果list肯定不为空,那么最简单的方法是直接在列表中添加新订单,如下所示:

while (set.next()){
    orderno=set.getInt(1);
    orderDate=set.getString(2);
    shipDate=set.getString(3);
    custId=set.getString(4);
    list.addOrder(list.new Order(orderno,custId,ccn));
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-01
    • 1970-01-01
    • 2011-10-19
    • 1970-01-01
    • 2013-12-19
    • 1970-01-01
    • 2015-07-12
    相关资源
    最近更新 更多