當前位置: 首頁>>代碼示例>>Java>>正文


Java QueryUtil.restrictQueryExecution方法代碼示例

本文整理匯總了Java中ro.nextreports.engine.util.QueryUtil.restrictQueryExecution方法的典型用法代碼示例。如果您正苦於以下問題:Java QueryUtil.restrictQueryExecution方法的具體用法?Java QueryUtil.restrictQueryExecution怎麽用?Java QueryUtil.restrictQueryExecution使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在ro.nextreports.engine.util.QueryUtil的用法示例。


在下文中一共展示了QueryUtil.restrictQueryExecution方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: executeQuery

import ro.nextreports.engine.util.QueryUtil; //導入方法依賴的package包/類
/**
 * Execute query This method is useful in case you are not interested about
 * report layout, but only query and you want to make your own business.
 * 
 * @return QueryResult object
 * 
 * @throws ReportRunnerException
 *             if Runner object is not correctly configured
 * @throws InterruptedException
 *             if process was interrupted
 */
public QueryResult executeQuery() throws ReportRunnerException, InterruptedException {
	if (connection == null) {
		throw new ReportRunnerException("Connection is null!");
	}
	if (report == null) {
		throw new ReportRunnerException("Report is null!");
	}

	String sql = getSql();

	// retrieves the report parameters
	Map<String, QueryParameter> parameters = getReportParameters();

	if (QueryUtil.restrictQueryExecution(sql)) {
		throw new ReportRunnerException("You are not allowed to execute queries that modify the database!");
	}

	if (QueryUtil.isProcedureCall(sql)) {
		if (!QueryUtil.isValidProcedureCall(sql, dialect)) {
			throw new ReportRunnerException("Invalid procedure call! Must be of form 'call (${P1}, ?)'");
		}
	}

	QueryResult queryResult = null;
	try {
		Query query = getQuery(sql);
		QueryExecutor executor = new QueryExecutor(query, parameters, parameterValues, connection, count, true,
				csv);
		executor.setMaxRows(0);
		executor.setTimeout(queryTimeout);

		queryResult = executor.execute();

		return queryResult;
	} catch (Exception e) {
		throw new ReportRunnerException(e);
	}

}
 
開發者ID:nextreports,項目名稱:nextreports-engine,代碼行數:51,代碼來源:ReportRunner.java


注:本文中的ro.nextreports.engine.util.QueryUtil.restrictQueryExecution方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。