Skip to main content
public class SOQL3_1 {

    public List<Account> accounts{set;get;}

    public SOQL3_1(){

        List<String> listField=new List<String>{'Name','Phone','Rating'};

          String queryString='SELECT Id';

        for(String s:listField){

            queryString=queryString+','+s;

        }

        queryString=queryString+'from Account';

        accounts=Database.query(queryString);

    }

}

<apex:page controller="SOQL3_1">

    <apex:pageBlock title="Accounts Details">

        <apex:pageBlockTable value="{!accounts}" var="a">

         <apex:column value="{!a.name}"/>

         <apex:column value="{!a.phone}"/>

         <apex:column value="{!a.rating}"/>

         <apex:column value="{!a.industry}"/> 

       </apex:pageBlockTable>

    </apex:pageBlock>

</apex:page>
2 answers
  1. Apr 1, 2021, 9:02 AM
    Hi Anji,

    There is two changes in Apex Class:

    1. Add space before from in :   queryString=queryString+'  from Account';

    2.  Add the industry also in listField 

    because you are reffering this field also in Page.

    public class SOQL3_1 {

    public List<Account> accounts{set;get;}

    public SOQL3_1(){

    List<String> listField=new List<String>{'Name','Phone','Rating','industry'};

    String queryString='SELECT Id';

    for(String s:listField){

    queryString=queryString+','+s;

    }

    queryString=queryString+' from Account';

    system.debug('queryString--> ' + queryString );

    accounts=Database.query(queryString);

    }

    }

    Thanks,

    Maharajan.C
0/9000