Bind Variables in a SOQL Query - getContactIDWithBinds

 


public class QueryContact {

    public static Id getContactID(String lastName, String title) {

        try {

            Contact myContact = [SELECT Id FROM Contact WHERE LastName = :lastName AND Title = :title LIMIT 1];

            return myContact.Id;

        } catch (Exception ex) {

            return null;

        }

    }


    public static Id getContactIDWithBinds(Map<String, Object> bindVars) {

        // do not modify any code above this line

        // implement the logic that will use bindVars to retrieve the contact's ID


        String queryString = 'SELECT Id FROM Contact WHERE LastName = :lastName AND Title = :title LIMIT 1';


        try {

            // Ensure that the bind variables contain the necessary keys

            if (bindVars.containsKey('lastName') && bindVars.containsKey('title')) {

                List<Contact> contacts = (List<Contact>)Database.queryWithBinds(queryString, bindVars, AccessLevel.USER_MODE);

                if (contacts != null && !contacts.isEmpty()) {

                    // Assuming you want the first contact's ID if there are matches

                    return contacts[0].Id;

                } else {

                    // Handle the case when no matching contacts are found

                    return null;

                }

            } else {

                // Handle the case when required bind variables are not provided

                return null;

            }

        } catch (Exception ex) {

            // Handle exceptions, e.g., if the query fails

            return null;

        }

    }

}


Comments

Popular posts from this blog

Superbadges Doubts

Create a Student Registration form using VisualForce, Apex part 1