Можем ли мы принести два набора данных одновременно и сравнить его - PullRequest
0 голосов
/ 17 мая 2011

У меня есть ResultSet метод public ResultSet getItemPurchase (String Pid) , который возвращает данные из таблицы базы данных.аналогично у меня есть другой метод public Resultset 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. }

Может кто-нибудь, пожалуйста, помогите мне в этом

1 Ответ

1 голос
/ 17 мая 2011

Я бы предложил вам написать два объекта домена, простые объекты 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
  }
}
...