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