Paramètre de requête JasperReports passant
Dans les requêtes de base de données, il est courant de transférer dynamiquement des paramètres en fonction des entrées de l'utilisateur. Certains utilisateurs peuvent rencontrer des problèmes lors de la transmission de paramètres à l'aide de la syntaxe $P{}
.
JasperReports fournit deux syntaxes pour référencer les paramètres : $P{}
et $P!{}
.
$P{paramName}
Grammaire$P{paramName}
est principalement utilisé pour définir la valeur du paramètre d'entrée de la clause WHERE. L'algorithme de remplacement pour cette syntaxe est similaire à java.sql.PreparedStatement
. Il gère intelligemment différents types de paramètres :
java.lang.String
, le moteur remplace $P{parameterName}
par une valeur citée. java.lang.Integer
, le moteur remplacera $P{parameterName}
par une valeur numérique. 参数名称 | 参数类型 | 参数值 |
---|---|---|
eventName | java.lang.String | Olympic Games |
eventType | java.lang.Integer | 2 |
Expression originale :
SELECT startDate, endDate, rating FROM events WHERE name=$P{eventName} AND type=$P{eventType}
Résultat :
SELECT startDate, endDate, rating FROM events WHERE name='Olympic Games' AND type=2
$P!{paramName}
Grammaire$P!{paramName}
effectue une substitution simple, généralement utilisée pour remplacer la valeur exacte d'un argument.
参数名称 | 参数类型 | 参数值 |
---|---|---|
tableName | java.lang.String | events |
eventName | java.lang.String | Olympic Games |
channel | java.lang.String | 'BBC' |
type | java.lang.String | sport |
Expression originale :
SELECT startDate, endDate, rating FROM $P!{tableName} WHERE name='$P!{eventName}' AND channel=$P!{channel} AND type=$P!{type}
Résultat :
SELECT startDate, endDate, rating FROM events WHERE name='Olympic Games' AND channel='BBC' AND type=sport
Pour la requête donnée, les expressions suivantes peuvent s'appliquer :
$P{key}
est java.lang.String
tapez le paramètre : SELECT name, phone, email FROM company WHERE $P!{clause} = $P{key} ORDER BY $P!{order}
$P{key}
est un paramètre de type non-chaîne : SELECT name, phone, email FROM company WHERE $P!{clause} = $P!{key} ORDER BY $P!{order}
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!