2011-04-03 20 views
0

我有一個購物的servlet我設計一個相當惱人的問題。我不斷收到一個空指針異常,當我嘗試建立一個訂單對象是這樣的:空指針異常的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()); 
     } 

任何幫助?

+1

您可以提供這行讓你異常和多一點的上下文到代碼中,如列表定義的位置? – Gennadiy 2011-04-03 18:39:50

+0

我們不能幫你沒有** **棧跟蹤。 – 2011-04-03 18:43:59

+0

@kenju請停止做不相關的修改 – rpax 2015-09-03 09:41:58

回答

0

這是一個粗糙的,沒有受過教育的(如果可以說)的猜測,所以這裏去。

如果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)); 
}