sql >> Database teknologi >  >> RDS >> PostgreSQL

Sådan bruger du PreparedStatement og kasus-ufølsom søgning

Gør også familienavn eller givetnavn til små bogstaver, da du allerede bruger 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";

Når du bruger PreparedStatement tilføj ikke værdier direkte i din SQL, hvis du gør det, er du tilbøjelig til at SQL-angreb i stedet parametriser dine værdier.

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

Indstil derefter værdier, der kalder passende setXXX-metoder som defineret her .

Du kan læse selvstudiet her



  1. Korrekt MySQL-konfiguration for Ruby on Rails Database.yml-fil

  2. Forespørg dynamisk en database for at tjekke for værdi

  3. Sådan sikrer du dig, at din MySQL-database er sikret

  4. Den angivne adgangskode til brugerkontoen 'root' er ikke gyldig eller kunne ikke oprette forbindelse til databaseserveren