怎么我用ArrayList返回调用页面,该ArrayList为空?高手帮我一下!
怎么我用ArrayList返回调用页面,该ArrayList为空?其中connectNewcomer为保存数据库信息的Bean,ProductBean为保存产品信息的Bean,
代码如下:
public ArrayList queryProducts(Connector connectNewcomer,String subCategory){
ArrayList productsList=new ArrayList();
// Load driver specified from class "Connector" and get a connection from database "Newcomer"
try{
Class.forName(connectNewcomer.getDriverClass());
Connection connectProductInventory=DriverManager.getConnection(connectNewcomer.getConnectivePath(),connectNewcomer.getUser(),connectNewcomer.getPassword());
// Judge how to display results from productInventory according to parameter "subCategory"
if(subCategory.equals(null)||subCategory.equals("")){
String queryProducts="select productNO,productName,productPrice,manufacturer,productQuantity,productPicture from productInventory where subCategory=CPU";
java.sql.Statement queryStatement=connectProductInventory.createStatement();
ResultSet productsResultSet=queryStatement.executeQuery(queryProducts);
// Create a instance of class "ArrayList" to store results queried from database
while(productsResultSet.next()){
// Create a instance of class "ProductBean" and initialize it
ProductBean partProduct=new ProductBean();
partProduct.setProductNO(String.valueOf(productsResultSet.getLong("productNO")));
partProduct.setProductName(productsResultSet.getString("productName"));
partProduct.setProductPrice(String.valueOf(productsResultSet.getDouble("productPrice")));
partProduct.setManufacturer(productsResultSet.getString("manufacturer"));
partProduct.setProductQuantity(productsResultSet.getString("productQuantity"));
partProduct.setProductPicture(productsResultSet.getString("productPicture"));
// add it into array list
productsList.add(partProduct);
}
// close connection and return this array list
productsList.trimToSize();
productsResultSet.close();
queryStatement.close();
connectProductInventory.close();
// return productsList;
} else{
String queryProducts="select productNO,productName,productPrice,manufacturer,productQuantity,productPicture from productInventory where subCategory=?";
PreparedStatement queryPrepared=connectProductInventory.prepareStatement(queryProducts);
queryPrepared.setString(1,subCategory);
ResultSet productsResultSet=queryPrepared.executeQuery();
// Create a instance of class "ArrayList" to store results queried from database
while(productsResultSet.next()){
// Create a instance of class "ProductBean" and initialize it
ProductBean partProduct=new ProductBean();
partProduct.setProductNO(String.valueOf(productsResultSet.getLong("productNO")));
partProduct.setProductName(productsResultSet.getString("productName"));
partProduct.setProductPrice(String.valueOf(productsResultSet.getDouble("productPrice")));
partProduct.setManufacturer(productsResultSet.getString("manufacturer"));
partProduct.setProductQuantity(productsResultSet.getString("productQuantity"));
partProduct.setProductPicture(productsResultSet.getString("productPicture"));
// add it into array list
productsList.add(partProduct);
}
// close connection and return this array list
productsList.trimToSize();
productsResultSet.close();
queryPrepared.close();
connectProductInventory.close();
// return productsList;
}
}
catch(Exception e){}
finally{return productsList;}
}