0

这是我的代码:

String data[]=new String[10];
String[] result;
Product p= new Product();
int serial=0;
try{
    String sql="select * from product";
    rslt=st.executeQuery(sql);
    while(rslt.next()){
        data[1]=rslt.getString("p_code");
        data[2]=rslt.getString("catagory");
        data[3]=rslt.getString("p_name");
        data[4]=rslt.getString("description");
        data[5]=rslt.getString("measurement");
        //data[6]=Integer.toString(p.RemainProduct(data[1])); //Stock
        //data[7]=p.getSellPrice(data[1]); //sell price
        serial+=1;
        data[0]=Integer.toString(serial);
        DTB.addRow(data);
    }

}catch(Exception ex){
    System.out.println("ERROR :"+ex);
}

上面的代码根据需要向我显示了数据库中的所有产品这是结果在此处输入图像描述

但是当我取消注释时 data[6]data[7]它只显示数据库中的一个产品信息。这是我的结果 在此处输入图像描述 我的RemainProduct(data[1])方法getSellPrice(data[1])工作正常,因为它给出了产品的实际库存和售价。我的问题是为什么我只得到一个结果当我取消注释这两行时。请有人解决这个问题。

这是我的 getSellPrice 方法

   public String getSellPrice(String pCode){
    String[] data;
    String[] price= new String[2];
    data=productDB.getProductPrice(pCode);
    int i=0; 
    for(String s:data){
       price[i]=s;
       i +=1;
    }
    String sell=price[1];
    return sell;
}

这是我的剩余产品方法

  public int RemainProduct(String pCode){
  if(oc.isOrdered(pCode)){
      int remain=Integer.parseInt(ProductTotalStock(pCode))-Integer.parseInt(prouductTotalSold(pCode))-getProductOrdered(pCode);
      return remain;
  }else{
      int remain=Integer.parseInt(ProductTotalStock(pCode))-Integer.parseInt(prouductTotalSold(pCode));
      return remain;
  }

}
4

0 回答 0