public ArrayList<CheckOut> getOverdueCO(int numDays) throws Exception{
		
		Connection connect = null;
		Statement statement = null;
		ResultSet resultSet = null;
		
		ArrayList<CheckOut> overdueCOList = new ArrayList<CheckOut>();
		
		try {
			
			// First connect to the database
			connect = DriverManager.getConnection("jdbc:mysql://localhost:3306/librarysystem?user=admin&password=123456");
			statement = connect.createStatement();
			
			createCheckOutView();
			
			long oneDay = 1 * 24 * 60 * 60 * 1000;			
				
			resultSet = statement.executeQuery("SELECT * "
					  + "FROM NoReturnCheckOut NRC "
					  + "ORDER BY NRC.start");	
			
			java.util.Date date = new java.util.Date();
			Timestamp current = new Timestamp(date.getTime());
			
			while(resultSet.next()){
				
				double timeDiff = (current.getTime() - resultSet.getTimestamp(3).getTime()) / oneDay;
				
				if(timeDiff > 0.05 + numDays){
				
					CheckOut co = new CheckOut();
					co.setIsbn(resultSet.getLong(1));
					co.setStart(resultSet.getTimestamp(2));
					co.setEnd(resultSet.getTimestamp(3));
					co.setCardNumber(resultSet.getInt(4));
					co.setIdNumber(resultSet.getInt(5));
					overdueCOList.add(co);
				
				}
				
			}
			
			statement.executeUpdate("DROP VIEW NoReturnCheckOut");
			
		} catch (Exception e) {
			System.out.println(e.getMessage());
			throw e;
		}
		
			finally
			{
				try {

					if(connect != null){
						connect.close();
					}
					
					if(statement != null){
						statement.close();
					}
					
					if(resultSet != null){
						resultSet.close();
					}
					
				} catch (Exception e) {	
					
				}
			}
		
		return overdueCOList;
		
	}