Java 我们能一次带来两个数据集并进行比较吗
我有一个ResultSet方法PublicResultSet getItemPurchase(String Pid),它从数据库表返回数据。类似地,我还有另一个方法publicResultset-getItemSale(String-sid)。我使用函数Resultset-rs1=getitemspurchase(Pid)调用了它们下一个函数是ResultSet rs2=getItemSale(Pid)强> 我想做如下事情Java 我们能一次带来两个数据集并进行比较吗,java,multiple-resultsets,Java,Multiple Resultsets,我有一个ResultSet方法PublicResultSet getItemPurchase(String Pid),它从数据库表返回数据。类似地,我还有另一个方法publicResultset-getItemSale(String-sid)。我使用函数Resultset-rs1=getitemspurchase(Pid)调用了它们下一个函数是ResultSet rs2=getItemSale(Pid) 我想做如下事情 1. while(rs1.next) 2. { 3. rs1.getS
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. }
有谁能在这方面帮助我吗?我建议您编写两个域对象,普通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;
}
你有什么问题?错误消息?意外的结果?如果两个结果集来自同一个数据库,那么我将使用类似于
的方法改进SQL查询,其中a.price=b.price
…在任何情况下,都不应使用“==”而应使用“equals()
filter(List purchaseList, List salesList){
for(ItemPurchase purchaseObj:purchaseList){
//process the objects according to your requirement
}
}