这是我的代码:
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;
}
}