PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak korzystać z funkcji PreparedStatement i wyszukiwania z uwzględnieniem wielkości liter

Ustaw familyName lub givenName na małe litery, ponieważ używasz już 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";

Kiedy używasz PreparedStatement nie dodawaj wartości bezpośrednio w swoim SQL, jeśli to zrobisz, jesteś podatny na atak SQL zamiast tego parametryzuj swoje wartości.

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());

Następnie ustaw wartości wywołując odpowiednie metody setXXX zgodnie z definicją tutaj .

Samouczek możesz przeczytać tutaj



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zaktualizuj wartość klucza w tablicy obiektów jsonb

  2. QT5:Nie udało się załadować sterownika psql w systemie Windows

  3. Nie można skopiować tabeli do innej bazy danych za pomocą pg_dump

  4. Wiosenna partia — nie można zapisać rekordów w bazie danych Postgres

  5. Zwróć nazwę kolumny i odrębne wartości