executeQuery(sql)
. का आह्वान करके आप वास्तव में Statement
. पर एक विधि का आह्वान करते हैं - PreparedStatement
पर नहीं . तो आप पहले से असाइन किए गए पैरामीटर मान को फेंक देते हैं और एक क्वेरी निष्पादित करते हैं जहां प्लेसहोल्डर ?
अप्रकाशित रहता है - तो आपको वह त्रुटि मिलती है।
बदलें
ResultSet results = state.executeQuery(sql);
करने के लिए
ResultSet results = state.executeQuery();
और आपको ठीक होना चाहिए।
(और कारण से
resultname = state2.executeQuery(sql2);
होना चाहिए
resultname = state2.executeQuery();
साथ ही)