private ArrayList<String[]> exeQuery(Connection conn, String sql, String[] params) throws SQLException {

		ArrayList<String[]> returnResult = new ArrayList<String[]>();

		PreparedStatement preStmt = conn.prepareStatement(sql);
		if (params != null) {
			for (int i = 0; i < params.length; i++) {
				preStmt.setString(i + 1, params[i]);
			}
		}

		ResultSet rs = preStmt.executeQuery();
		preStmt.clearParameters();

		String[] result = null;
		while (rs.next()) {
			result = new String[rs.getMetaData().getColumnCount()];
			for (int i = 0; i < result.length; i++) {
				result[i] = rs.getString(i + 1);
			}
			returnResult.add(result);
		}

		rs.close();
		preStmt.close();

		return returnResult;
	}