public void updateStockPrices() throws Exception{
    	PreparedStatement ps = null;
		ResultSet rs = null;
		List<String> tickers = new ArrayList<String>();
        boolean oldAutoCommitState = con.getAutoCommit();
        con.setAutoCommit(false);
        //Gets List of Stock Tickers
        try {
			ps = _preparedStatements.get(PreparedStatementID.GET_STOCK_TICKERS);
		    rs = ps.executeQuery();
		    while (rs.next()) {
		    	tickers.add(rs.getString(1));
		    }
        }catch (SQLException e) {
			throw e;
		}finally {
//		    if (rs != null) try { rs.close(); } catch (SQLException ignore) {}
//		    if (ps != null) try { ps.close(); } catch (SQLException ignore) {}
		}
        
        //Updates Prices for the List of Stock Tickers
		try {
		  	ps = null;
		   	rs = null;
		   	List<BigDecimal> prices = YAPI_Reader.getPrices(tickers);
		   	for (int i = 0; i < tickers.size(); i++){
		   		ps = _preparedStatements.get(PreparedStatementID.UPDATE_PRICES);
		   		ps.setBigDecimal(1, prices.get(i));
		   		ps.setString(2, tickers.get(i));
		   		ps.executeUpdate();
		   	}
            con.commit();
		} catch (SQLException e) {
		   	con.rollback();
		}
        finally {
            try {con.setAutoCommit(oldAutoCommitState); } catch (SQLException ignore) {}
        }
    }