क्वेरी पोस्टग्रेस का चयन परिणाम वापस नहीं करता है?

मैं जावा ऐप विकसित कर रहा हूं, और मैं परिणामसेट का उपयोग करता हूं। मैं यह प्रश्न लिखता हूं, यह काम करता है और मुझे परिणाम मिलते हैं

SELECT * 
FROM BD 
WHERE 
    CAST(parent_id AS integer) = " + (Integer.parseInt(arrHeading[0])) + " 
    AND CAST(section AS double precision) = " + Double.parseDouble(arrHeading[1]) + "";

arrHeading is type string, but when I write the query below it does not return any results. cas is type character varying(12). I am having trouble because it's a character, and I dont know why I am not getting any result. I tried with the quotes but still does not work. Any ideas?

SELECT * 
FROM BD 
WHERE 
    CAST(parent_id AS integer) = " + (Integer.parseInt(arrHeading[0])) + " 
    AND CAST(section AS double precision) = " + Double.parseDouble(arrHeading[1]) + "
    AND cas = '" + arrHeading[2] + "'";
0
जोड़ा संपादित
विचारों: 2

1 उत्तर

मैं सबसे पहले क्वेरी में वास्तविक मूल्य के साथ arrHeading [2] को प्रतिस्थापित करने का सुझाव दूंगा, यानी हार्डकोड कैस = "'आपका वैल्यू' 'और देखें कि क्वेरी कोई परिणाम देता है या नहीं

0
जोड़ा
मैं चयन * बीडी से सीएएसटी (parent_id एएस पूर्णांक) = "+ (Integer.parseInt (arrHeading [0])) +" और CAST (अनुभाग डबल डबल परिशुद्धता) = "+ Double.parseDouble (arrHeading [1]) + "और कैस = '" + "बी 1" + "'"; और मुझे परिणाम मिलते हैं
जोड़ा लेखक bentham, स्रोत
यह बी 1 प्रिंट करता है, इसकी एक स्ट्रिंग है
जोड़ा लेखक bentham, स्रोत
मुझे चयन * बीडी से सीएएसटी (parent_id एएस पूर्णांक) = 1 9 और सीएएसटी (अनुभाग एएस डबल परिशुद्धता) = 1665.0 और कैस = 'बी 1'
जोड़ा लेखक bentham, स्रोत
हाँ यह एक अतिरिक्त सफेद जगह के लिए था धन्यवाद मैंने नोटिस नहीं किया था
जोड़ा लेखक bentham, स्रोत
ऐसा लगता है कि arrHeadin [2] में एक अतिरिक्त सफेद जगह है, arrHeading [2] .trim() का उपयोग करें
जोड़ा लेखक coder, स्रोत
@bentham - प्रिंटिंग arrHeading [2] क्या दिखाता है?
जोड़ा लेखक dezso, स्रोत
@bentham - और यदि आप अपनी क्वेरी स्ट्रिंग मुद्रित करते हैं?
जोड़ा लेखक dezso, स्रोत