Activity Forums Salesforce® Discussions In Salesforce, how can we execute query in javascript function?

  • Vikas Kumar

    Member
    January 16, 2017 at 7:08 am

    Hi Sushant,

    SOQL query in javascript example
    You can use SOQL in java-script on your VF pages or any kind of java-script that you write, like we can get it executed on click of a button or link present on your detail page of a record. Below is the simple example and you can use it and modify it accordingly :

    {!REQUIRESCRIPT(“/soap/ajax/24.0/connection.js”)}
    {!REQUIRESCRIPT(“/soap/ajax/24.0/apex.js”)}
    try{
        var query = “SELECT Id,Name from Account LIMIT 2″;
        var records = sforce.connection.query(query);
        var records1 = records.getArray(‘records’);
        alert(records);
        var accountNames = ”;
        for(var i=0;i<records1.length;i++){
            accountNames = accountNames + records1[i].Name + ‘,’;
        }
        alert(accountNames);
        if(records1.length == 1){
            //window.location.href = ‘http://www.google.com’;
        }
        else {
            alert(‘There is no Account’);
        }
    }
    catch(e){
        alert(‘An Error has Occured. Error:’ +e);
    }

    You need to use .js files that are in first two lines in order to use the api of salesforce to connect and fetch the records using SOQL. In the example you will see result of SOQL in alert statement. The result that is returned contains a ‘records’ named array component that can be used to iterate over and go through all the records and use it in the same manner as we do in usual apex program. For ex account.id, account.Name etc.

    You can also use merge fields to create dynamic queries.

    Similarly you can use javascript to create, update or delete the salesforce object’s records using API. Below is the sample code you can use to create a new account record in your org.

    try{
        var accounts = [];
        var account = new sforce.SObject("Account");
        account.Name = "my new account Test";
        accounts.push(account);
        var results = sforce.connection.create(accounts);
        if (results[0].getBoolean("success")) {
            alert("new account created with id " + results[0].id);
        } else {
            alert("failed to create account " + results[0]);
        }
    }
    catch(e){
    alert('An Error has Occured. Error:' +e);
    }
  • William

    Member
    November 12, 2018 at 4:31 am

    Try this one -

    <apex:page id=”page”>
        <script src=”/soap/ajax/38.0/connection.js” type=”text/javascript”>
        </script>
        <script>
        function show(){
            sforce.connection.sessionId='{!GETSESSIONID()}’;
            var queryResult=sforce.connection.query(‘select name,amount,closeDate,stageName from Opportunity’);
            var records=queryResult.getArray(‘records’);
            var result=”;
            var amt=0;
            for(var i=0;i<records.length;i++){
                result=result+'<br/>’+records[i].Name;
            }
            document.getElementById(‘page:fm:res’).innerHTML=result;
            document.getElementById(‘page:fm:amt’).innerHTML=amt;
        }
        </script>
    
        <apex:form id=”fm”>
            Click to See Opportunity Names
            <apex:commandButton value=”Submit” oncomplete=”show()” />
            <apex:outputLabel id=”res”/>
        </apex:form>
    </apex:page>

Log In to reply.

Popular Salesforce Blogs

Popular Salesforce Videos