Jadikan familyName atau givenName menjadi huruf kecil juga karena Anda sudah menggunakan LOWER DB API
String query ="SELECT agent.familyname, agent.givenname" +
" FROM agent" +
" WHERE agent.agentid = piececreation.agentid" +
" AND (LOWER(familyname) = '"+agent_lastname.toLowerCase()+"' OR LOWER(givenname) = '"+agent_name.toLowerCase()+"') ORDER by familyname";
Saat Anda menggunakan PreparedStatement
jangan menambahkan nilai secara langsung di SQL Anda, jika Anda melakukannya, Anda rentan terhadap Serangan SQL
alih-alih membuat parameter nilai Anda.
String query =
"SELECT agent.familyname, agent.givenname"
+ " FROM agent"
+ " WHERE agent.agentid = ?"
+ " AND ("
+ " LOWER(familyname) = ? OR LOWER(givenname) = ?"
+ ") "
+ " ORDER by familyname";
pst.setInt(1, piececreation.agentid);
pst.setString(2, agent_lastname.toLowerCase());
pst.setString(3, agent_name.toLowerCase());
Kemudian tetapkan nilai yang memanggil metode setXXX yang sesuai seperti yang didefinisikan di sini .
Anda dapat membaca tutorial di sini