0

我有一个ResultSet方法public ResultSet getItemPurchase(String Pid),它从数据库表中返回一个数据。同样,我有另一种方法 public Resultsset getItemSale(String sid)。我使用函数ResultSet rs1 = getItemPurchase(Pid);调用了它们 下一个函数是ResultSet rs2 = getItemSale(Pid);

我想做如下。

 1. while(rs1.next)
 2. {
 3. rs1.getString("Item");
 4.      if(rs1.getString("price")==rs2.getString("price")
 5.        {
 6.          //some code here
 7.        }
 8.      else{
 9. rs1.getDate("Purchase Date");}
 10. rs2.getString("CustomerName");
 11. }

有人可以帮我吗

4

1 回答 1

1

我建议您编写两个域对象,普通 Java 对象,例如:

public class ItemPurchase{
    private String price;

    //setter/getter for price

    private String purchaseDate;
    //setter/getter for purchaseDate
}
public class ItemSale{
  private String price;

    //setter/getter for price

    private String customerName;
    //setter/getter for customerName
}

现在在迭代每个结果集时创建一个对象列表,例如:

public List createListOfItemPurchased(ResultSet rs){
 List<ItemPurchase> purchaseList=new ArrayList<ItemPurchase>();
 while(rs.next()){
   ItemPurchase purchaseObject=new ItemPurchase();
   purchaseObject.setPrice(rs.getString("price"));
 //fill all required data in it
  purchaseList.add(purchaseObject);
 }
  return purchaseList;
}

以同样的方式填充 salesObjects,然后创建一个方法来过滤掉您的结果,例如:

filter(List purchaseList, List salesList){
  for(ItemPurchase purchaseObj:purchaseList){
    //process the objects according to your requirement
  }
}
于 2011-05-17T06:29:20.907 回答