Check if object is null and return null












3















I'm doing a query to an object. My question is if nothing returns is it technically null. I want to return null if it is.



People person = [SELECT Id, Type FROM People WHERE (Type LIKE '%Construction%') limit 1];

if (person == null){
return null;
}









share|improve this question



























    3















    I'm doing a query to an object. My question is if nothing returns is it technically null. I want to return null if it is.



    People person = [SELECT Id, Type FROM People WHERE (Type LIKE '%Construction%') limit 1];

    if (person == null){
    return null;
    }









    share|improve this question

























      3












      3








      3








      I'm doing a query to an object. My question is if nothing returns is it technically null. I want to return null if it is.



      People person = [SELECT Id, Type FROM People WHERE (Type LIKE '%Construction%') limit 1];

      if (person == null){
      return null;
      }









      share|improve this question














      I'm doing a query to an object. My question is if nothing returns is it technically null. I want to return null if it is.



      People person = [SELECT Id, Type FROM People WHERE (Type LIKE '%Construction%') limit 1];

      if (person == null){
      return null;
      }






      apex visualforce visualforce-component






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked 5 hours ago









      ebarebar

      182




      182






















          3 Answers
          3






          active

          oldest

          votes


















          4














          The syntax in your code throws a QueryException if you try it, and there are no records to return. Instead, use one of the other common patterns. This is one that I use:



          People person; // is null
          for(People record: [SELECT Type FROM People WHERE Type LIKE '%Construction%' LIMIT 1]) {
          person = record;
          }
          return person; // will return null or a single record





          share|improve this answer


























          • The syntax in your code throws a QueryException if you try it -- only if there's no record returned.

            – Jayant Das
            5 hours ago











          • @JayantDas That's what I meant, of course, but I went ahead and clarified.

            – sfdcfox
            2 hours ago



















          3














          One way to do this is to check for the number of records returned:



          People persons = [...];
          if (persons.size() == 0) return null;


          as your code as written will generate this exception if no records match:




          System.QueryException: List has no rows for assignment to SObject







          share|improve this answer































            0














            Change the code to:



            People people = [SELECT Id, Type FROM People WHERE (Type LIKE '%Construction%') LIMIT 1];

            if (people.size() == 0){
            return null;
            } else {
            return people[0];
            }





            share|improve this answer























              Your Answer








              StackExchange.ready(function() {
              var channelOptions = {
              tags: "".split(" "),
              id: "459"
              };
              initTagRenderer("".split(" "), "".split(" "), channelOptions);

              StackExchange.using("externalEditor", function() {
              // Have to fire editor after snippets, if snippets enabled
              if (StackExchange.settings.snippets.snippetsEnabled) {
              StackExchange.using("snippets", function() {
              createEditor();
              });
              }
              else {
              createEditor();
              }
              });

              function createEditor() {
              StackExchange.prepareEditor({
              heartbeatType: 'answer',
              autoActivateHeartbeat: false,
              convertImagesToLinks: false,
              noModals: true,
              showLowRepImageUploadWarning: true,
              reputationToPostImages: null,
              bindNavPrevention: true,
              postfix: "",
              imageUploader: {
              brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
              contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
              allowUrls: true
              },
              onDemand: true,
              discardSelector: ".discard-answer"
              ,immediatelyShowMarkdownHelp:true
              });


              }
              });














              draft saved

              draft discarded


















              StackExchange.ready(
              function () {
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f254673%2fcheck-if-object-is-null-and-return-null%23new-answer', 'question_page');
              }
              );

              Post as a guest















              Required, but never shown

























              3 Answers
              3






              active

              oldest

              votes








              3 Answers
              3






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              4














              The syntax in your code throws a QueryException if you try it, and there are no records to return. Instead, use one of the other common patterns. This is one that I use:



              People person; // is null
              for(People record: [SELECT Type FROM People WHERE Type LIKE '%Construction%' LIMIT 1]) {
              person = record;
              }
              return person; // will return null or a single record





              share|improve this answer


























              • The syntax in your code throws a QueryException if you try it -- only if there's no record returned.

                – Jayant Das
                5 hours ago











              • @JayantDas That's what I meant, of course, but I went ahead and clarified.

                – sfdcfox
                2 hours ago
















              4














              The syntax in your code throws a QueryException if you try it, and there are no records to return. Instead, use one of the other common patterns. This is one that I use:



              People person; // is null
              for(People record: [SELECT Type FROM People WHERE Type LIKE '%Construction%' LIMIT 1]) {
              person = record;
              }
              return person; // will return null or a single record





              share|improve this answer


























              • The syntax in your code throws a QueryException if you try it -- only if there's no record returned.

                – Jayant Das
                5 hours ago











              • @JayantDas That's what I meant, of course, but I went ahead and clarified.

                – sfdcfox
                2 hours ago














              4












              4








              4







              The syntax in your code throws a QueryException if you try it, and there are no records to return. Instead, use one of the other common patterns. This is one that I use:



              People person; // is null
              for(People record: [SELECT Type FROM People WHERE Type LIKE '%Construction%' LIMIT 1]) {
              person = record;
              }
              return person; // will return null or a single record





              share|improve this answer















              The syntax in your code throws a QueryException if you try it, and there are no records to return. Instead, use one of the other common patterns. This is one that I use:



              People person; // is null
              for(People record: [SELECT Type FROM People WHERE Type LIKE '%Construction%' LIMIT 1]) {
              person = record;
              }
              return person; // will return null or a single record






              share|improve this answer














              share|improve this answer



              share|improve this answer








              edited 2 hours ago

























              answered 5 hours ago









              sfdcfoxsfdcfox

              260k12206451




              260k12206451













              • The syntax in your code throws a QueryException if you try it -- only if there's no record returned.

                – Jayant Das
                5 hours ago











              • @JayantDas That's what I meant, of course, but I went ahead and clarified.

                – sfdcfox
                2 hours ago



















              • The syntax in your code throws a QueryException if you try it -- only if there's no record returned.

                – Jayant Das
                5 hours ago











              • @JayantDas That's what I meant, of course, but I went ahead and clarified.

                – sfdcfox
                2 hours ago

















              The syntax in your code throws a QueryException if you try it -- only if there's no record returned.

              – Jayant Das
              5 hours ago





              The syntax in your code throws a QueryException if you try it -- only if there's no record returned.

              – Jayant Das
              5 hours ago













              @JayantDas That's what I meant, of course, but I went ahead and clarified.

              – sfdcfox
              2 hours ago





              @JayantDas That's what I meant, of course, but I went ahead and clarified.

              – sfdcfox
              2 hours ago













              3














              One way to do this is to check for the number of records returned:



              People persons = [...];
              if (persons.size() == 0) return null;


              as your code as written will generate this exception if no records match:




              System.QueryException: List has no rows for assignment to SObject







              share|improve this answer




























                3














                One way to do this is to check for the number of records returned:



                People persons = [...];
                if (persons.size() == 0) return null;


                as your code as written will generate this exception if no records match:




                System.QueryException: List has no rows for assignment to SObject







                share|improve this answer


























                  3












                  3








                  3







                  One way to do this is to check for the number of records returned:



                  People persons = [...];
                  if (persons.size() == 0) return null;


                  as your code as written will generate this exception if no records match:




                  System.QueryException: List has no rows for assignment to SObject







                  share|improve this answer













                  One way to do this is to check for the number of records returned:



                  People persons = [...];
                  if (persons.size() == 0) return null;


                  as your code as written will generate this exception if no records match:




                  System.QueryException: List has no rows for assignment to SObject








                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered 5 hours ago









                  Keith CKeith C

                  96.1k1094212




                  96.1k1094212























                      0














                      Change the code to:



                      People people = [SELECT Id, Type FROM People WHERE (Type LIKE '%Construction%') LIMIT 1];

                      if (people.size() == 0){
                      return null;
                      } else {
                      return people[0];
                      }





                      share|improve this answer




























                        0














                        Change the code to:



                        People people = [SELECT Id, Type FROM People WHERE (Type LIKE '%Construction%') LIMIT 1];

                        if (people.size() == 0){
                        return null;
                        } else {
                        return people[0];
                        }





                        share|improve this answer


























                          0












                          0








                          0







                          Change the code to:



                          People people = [SELECT Id, Type FROM People WHERE (Type LIKE '%Construction%') LIMIT 1];

                          if (people.size() == 0){
                          return null;
                          } else {
                          return people[0];
                          }





                          share|improve this answer













                          Change the code to:



                          People people = [SELECT Id, Type FROM People WHERE (Type LIKE '%Construction%') LIMIT 1];

                          if (people.size() == 0){
                          return null;
                          } else {
                          return people[0];
                          }






                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered 5 hours ago









                          Phil WPhil W

                          471210




                          471210






























                              draft saved

                              draft discarded




















































                              Thanks for contributing an answer to Salesforce Stack Exchange!


                              • Please be sure to answer the question. Provide details and share your research!

                              But avoid



                              • Asking for help, clarification, or responding to other answers.

                              • Making statements based on opinion; back them up with references or personal experience.


                              To learn more, see our tips on writing great answers.




                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function () {
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f254673%2fcheck-if-object-is-null-and-return-null%23new-answer', 'question_page');
                              }
                              );

                              Post as a guest















                              Required, but never shown





















































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown

































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown







                              Popular posts from this blog

                              CARDNET

                              Boot-repair Failure: Unable to locate package grub-common:i386

                              濃尾地震