JasperReports में पैरामीटर संदर्भ देने के लिए दो वाक्य रचना भाव हैं।
- $ P {paramName} सिंटेक्स ज्यादातर सेटिंग में जहां इनपुट मानों पैरामीटर के लिए उपयोग कर रहा है। प्रतिस्थापन एल्गोरिथ्म "स्मार्ट" है, इसके कार्यान्वयन का उपयोग करता java.sql.PreparedStatement: java.lang.String पैरामीटर के लिए इंजन के लिए $ P {parameterName} उद्धृत मूल्य के साथ, का स्थान ले लेगा java.lang.Integer - संख्यात्मक मूल्य के साथ और इसी तरह।
नमूना:
| Parameter name | Parameter type | Parameter value |
|:---------------|-------------------|:---------------:|
| eventName | java.lang.String | Olympic Games |
| eventType | java.lang.Integer | 2 |
मूल अभिव्यक्ति (बदलने के लिए):
SELECT startDate, endDate, rating FROM events WHERE name=$P{eventName} AND type=$P{eventType}
परिणाम होगा:
SELECT startDate, endDate, rating FROM events WHERE name='Olympic Games' AND type=2
- $ पी! {ParamName} वाक्यविन्यास ज्यादातर "सरल" प्रतिस्थापन करने के लिए उपयोग कर रहा है।
नमूना:
| Parameter name | Parameter type | Parameter value |
|:---------------|------------------:|:---------------:|
| tableName | java.lang.String | events |
| eventName | java.lang.String | Olympic Games |
| channel | java.lang.String | 'BBC' |
| type | java.lang.String | sport |
मूल अभिव्यक्ति (बदलने के लिए):
SELECT startDate, endDate, rating FROM $P!{tableName} WHERE name='$P!{eventName}' AND channel=$P!{channel} AND type=$P!{type}
परिणाम होगा:
SELECT startDate, endDate, rating FROM events WHERE name='Olympic Games' AND channel='BBC' AND type=sport
अधिक जानकारी के लिए आप इस Using report parameters पोस्ट को पढ़ सकते हैं और इस Query sample पर देख सकते हैं।
आपके मामले में सही अभिव्यक्ति इस तरह हो सकता है:
SELECT name, phone, email FROM company WHERE $P!{clause} = $P{key} ORDER BY $P!{order}
जहां $ P {कुंजी} एक java.lang.String पैरामीटर
है
या इस तरह (यह $ पी पर निर्भर करता है! {खंड} मूल्य)
SELECT name, phone, email FROM company WHERE $P!{clause} = $P!{key} ORDER BY $P!{order}
जहां $ P {कुंजी} है एक java.lang.String पैरामीटर
@ एलेक्स आप कैसे जवाब के रूप में पोस्ट नहीं किया? दोनों टिप्पणियों को संयुक्त उपयोगकर्ता को जवाब देने लगता है, और अधिक जानने के लिए जानकारी का पालन करें। इससे ज्यादा बेहतर नहीं मिलता है। –