How to Pass a Parameter into SOQL Query?

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty margin-bottom:0;







up vote
2
down vote

favorite












I have a SOQL query in my server side controller Like



SELECT Id,PDCN__r.Id,PDCN__r.Name,PDCN__r.Brand_Trademark_Name__c,PDCN__r.Package_Standard_Name__c 
FROM PDCNGrpJunc__c WHERE PDCN_Group__c = 'aBmq00000008UIUCA2'
ORDER BY createdDate DESC


This Query Returns results when I specify PDCN_Group__c = 'aBmq00000008UIUCA2'. Now I have a method which takes a parameter groupId, when I write that groupId in SOQL Query I get Error-:
FROM PDCNGrpJunc__c WHERE PDCN_Group__c = '+groupId+'
^
ERROR at Row:2:Column:70
invalid ID field: +groupId+



public static list < PDCNGrpJunc__c > fetchJunction(String groupId) 
System.debug('****groupId****'+groupId);
List < PDCNGrpJunc__c > objJuncList = new List < PDCNGrpJunc__c > ();
List < PDCNGrpJunc__c > objJunc = [SELECT Id,PDCN__r.Id,PDCN__r.Name,PDCN__r.Brand_Trademark_Name__c,PDCN__r.Package_Standard_Name__c
FROM PDCNGrpJunc__c WHERE PDCN_Group__c = '+groupId+'
ORDER BY createdDate DESC ];

// play for loop on objJunc and add each Junction to objJuncList List.
for (PDCNGrpJunc__c c: objJunc)
objJuncList.add(c);

// return the List of Junctions
return objJuncList;



Could Someone Tell Me what I might be doing Wrong and How to pass the parameter into SOQL Query. Thanks!!







share|improve this question






















  • What is the error you are getting. Help us help you
    – Eric
    Aug 25 at 9:16










  • Apologies, I added the Error
    – Thomas Pete
    Aug 25 at 9:20
















up vote
2
down vote

favorite












I have a SOQL query in my server side controller Like



SELECT Id,PDCN__r.Id,PDCN__r.Name,PDCN__r.Brand_Trademark_Name__c,PDCN__r.Package_Standard_Name__c 
FROM PDCNGrpJunc__c WHERE PDCN_Group__c = 'aBmq00000008UIUCA2'
ORDER BY createdDate DESC


This Query Returns results when I specify PDCN_Group__c = 'aBmq00000008UIUCA2'. Now I have a method which takes a parameter groupId, when I write that groupId in SOQL Query I get Error-:
FROM PDCNGrpJunc__c WHERE PDCN_Group__c = '+groupId+'
^
ERROR at Row:2:Column:70
invalid ID field: +groupId+



public static list < PDCNGrpJunc__c > fetchJunction(String groupId) 
System.debug('****groupId****'+groupId);
List < PDCNGrpJunc__c > objJuncList = new List < PDCNGrpJunc__c > ();
List < PDCNGrpJunc__c > objJunc = [SELECT Id,PDCN__r.Id,PDCN__r.Name,PDCN__r.Brand_Trademark_Name__c,PDCN__r.Package_Standard_Name__c
FROM PDCNGrpJunc__c WHERE PDCN_Group__c = '+groupId+'
ORDER BY createdDate DESC ];

// play for loop on objJunc and add each Junction to objJuncList List.
for (PDCNGrpJunc__c c: objJunc)
objJuncList.add(c);

// return the List of Junctions
return objJuncList;



Could Someone Tell Me what I might be doing Wrong and How to pass the parameter into SOQL Query. Thanks!!







share|improve this question






















  • What is the error you are getting. Help us help you
    – Eric
    Aug 25 at 9:16










  • Apologies, I added the Error
    – Thomas Pete
    Aug 25 at 9:20












up vote
2
down vote

favorite









up vote
2
down vote

favorite











I have a SOQL query in my server side controller Like



SELECT Id,PDCN__r.Id,PDCN__r.Name,PDCN__r.Brand_Trademark_Name__c,PDCN__r.Package_Standard_Name__c 
FROM PDCNGrpJunc__c WHERE PDCN_Group__c = 'aBmq00000008UIUCA2'
ORDER BY createdDate DESC


This Query Returns results when I specify PDCN_Group__c = 'aBmq00000008UIUCA2'. Now I have a method which takes a parameter groupId, when I write that groupId in SOQL Query I get Error-:
FROM PDCNGrpJunc__c WHERE PDCN_Group__c = '+groupId+'
^
ERROR at Row:2:Column:70
invalid ID field: +groupId+



public static list < PDCNGrpJunc__c > fetchJunction(String groupId) 
System.debug('****groupId****'+groupId);
List < PDCNGrpJunc__c > objJuncList = new List < PDCNGrpJunc__c > ();
List < PDCNGrpJunc__c > objJunc = [SELECT Id,PDCN__r.Id,PDCN__r.Name,PDCN__r.Brand_Trademark_Name__c,PDCN__r.Package_Standard_Name__c
FROM PDCNGrpJunc__c WHERE PDCN_Group__c = '+groupId+'
ORDER BY createdDate DESC ];

// play for loop on objJunc and add each Junction to objJuncList List.
for (PDCNGrpJunc__c c: objJunc)
objJuncList.add(c);

// return the List of Junctions
return objJuncList;



Could Someone Tell Me what I might be doing Wrong and How to pass the parameter into SOQL Query. Thanks!!







share|improve this question














I have a SOQL query in my server side controller Like



SELECT Id,PDCN__r.Id,PDCN__r.Name,PDCN__r.Brand_Trademark_Name__c,PDCN__r.Package_Standard_Name__c 
FROM PDCNGrpJunc__c WHERE PDCN_Group__c = 'aBmq00000008UIUCA2'
ORDER BY createdDate DESC


This Query Returns results when I specify PDCN_Group__c = 'aBmq00000008UIUCA2'. Now I have a method which takes a parameter groupId, when I write that groupId in SOQL Query I get Error-:
FROM PDCNGrpJunc__c WHERE PDCN_Group__c = '+groupId+'
^
ERROR at Row:2:Column:70
invalid ID field: +groupId+



public static list < PDCNGrpJunc__c > fetchJunction(String groupId) 
System.debug('****groupId****'+groupId);
List < PDCNGrpJunc__c > objJuncList = new List < PDCNGrpJunc__c > ();
List < PDCNGrpJunc__c > objJunc = [SELECT Id,PDCN__r.Id,PDCN__r.Name,PDCN__r.Brand_Trademark_Name__c,PDCN__r.Package_Standard_Name__c
FROM PDCNGrpJunc__c WHERE PDCN_Group__c = '+groupId+'
ORDER BY createdDate DESC ];

// play for loop on objJunc and add each Junction to objJuncList List.
for (PDCNGrpJunc__c c: objJunc)
objJuncList.add(c);

// return the List of Junctions
return objJuncList;



Could Someone Tell Me what I might be doing Wrong and How to pass the parameter into SOQL Query. Thanks!!









share|improve this question













share|improve this question




share|improve this question








edited Aug 25 at 9:19

























asked Aug 25 at 9:10









Thomas Pete

265




265











  • What is the error you are getting. Help us help you
    – Eric
    Aug 25 at 9:16










  • Apologies, I added the Error
    – Thomas Pete
    Aug 25 at 9:20
















  • What is the error you are getting. Help us help you
    – Eric
    Aug 25 at 9:16










  • Apologies, I added the Error
    – Thomas Pete
    Aug 25 at 9:20















What is the error you are getting. Help us help you
– Eric
Aug 25 at 9:16




What is the error you are getting. Help us help you
– Eric
Aug 25 at 9:16












Apologies, I added the Error
– Thomas Pete
Aug 25 at 9:20




Apologies, I added the Error
– Thomas Pete
Aug 25 at 9:20










1 Answer
1






active

oldest

votes

















up vote
5
down vote



accepted










public static list < PDCNGrpJunc__c > fetchJunction(String groupId) 
System.debug('****groupId****'+groupId);
List < PDCNGrpJunc__c > objJuncList = new List < PDCNGrpJunc__c > ();
List < PDCNGrpJunc__c > objJunc = [SELECT Id,PDCN__r.Id,PDCN__r.Name,PDCN__r.Brand_Trademark_Name__c,PDCN__r.Package_Standard_Name__c
FROM PDCNGrpJunc__c WHERE PDCN_Group__c = :groupId
ORDER BY createdDate DESC ];

// play for loop on objJunc and add each Junction to objJuncList List.
for (PDCNGrpJunc__c c: objJunc)
objJuncList.add(c);

// return the List of Junctions
return objJuncList;



You have to use parameters as PDCN_Group__c = :groupId.



Accessing Variables in SOQL Queries




SOQL statements in Apex can reference Apex code variables and
expressions if they are preceded by a colon (:). The use of a local
variable within a SOQL statement is called a bind.




This example shows how to use the targetDepartment variable in the WHERE clause.



String targetDepartment = 'Wingo';
Contact techContacts = [SELECT FirstName,LastName
FROM Contact WHERE Department=:targetDepartment];





share|improve this answer






















  • Thanks A Lot!! That Solved It. How to mark this as Best Answer?
    – Thomas Pete
    Aug 25 at 9:22










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',
convertImagesToLinks: false,
noModals: false,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
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%2f230115%2fhow-to-pass-a-parameter-into-soql-query%23new-answer', 'question_page');

);

Post as a guest






























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes








up vote
5
down vote



accepted










public static list < PDCNGrpJunc__c > fetchJunction(String groupId) 
System.debug('****groupId****'+groupId);
List < PDCNGrpJunc__c > objJuncList = new List < PDCNGrpJunc__c > ();
List < PDCNGrpJunc__c > objJunc = [SELECT Id,PDCN__r.Id,PDCN__r.Name,PDCN__r.Brand_Trademark_Name__c,PDCN__r.Package_Standard_Name__c
FROM PDCNGrpJunc__c WHERE PDCN_Group__c = :groupId
ORDER BY createdDate DESC ];

// play for loop on objJunc and add each Junction to objJuncList List.
for (PDCNGrpJunc__c c: objJunc)
objJuncList.add(c);

// return the List of Junctions
return objJuncList;



You have to use parameters as PDCN_Group__c = :groupId.



Accessing Variables in SOQL Queries




SOQL statements in Apex can reference Apex code variables and
expressions if they are preceded by a colon (:). The use of a local
variable within a SOQL statement is called a bind.




This example shows how to use the targetDepartment variable in the WHERE clause.



String targetDepartment = 'Wingo';
Contact techContacts = [SELECT FirstName,LastName
FROM Contact WHERE Department=:targetDepartment];





share|improve this answer






















  • Thanks A Lot!! That Solved It. How to mark this as Best Answer?
    – Thomas Pete
    Aug 25 at 9:22














up vote
5
down vote



accepted










public static list < PDCNGrpJunc__c > fetchJunction(String groupId) 
System.debug('****groupId****'+groupId);
List < PDCNGrpJunc__c > objJuncList = new List < PDCNGrpJunc__c > ();
List < PDCNGrpJunc__c > objJunc = [SELECT Id,PDCN__r.Id,PDCN__r.Name,PDCN__r.Brand_Trademark_Name__c,PDCN__r.Package_Standard_Name__c
FROM PDCNGrpJunc__c WHERE PDCN_Group__c = :groupId
ORDER BY createdDate DESC ];

// play for loop on objJunc and add each Junction to objJuncList List.
for (PDCNGrpJunc__c c: objJunc)
objJuncList.add(c);

// return the List of Junctions
return objJuncList;



You have to use parameters as PDCN_Group__c = :groupId.



Accessing Variables in SOQL Queries




SOQL statements in Apex can reference Apex code variables and
expressions if they are preceded by a colon (:). The use of a local
variable within a SOQL statement is called a bind.




This example shows how to use the targetDepartment variable in the WHERE clause.



String targetDepartment = 'Wingo';
Contact techContacts = [SELECT FirstName,LastName
FROM Contact WHERE Department=:targetDepartment];





share|improve this answer






















  • Thanks A Lot!! That Solved It. How to mark this as Best Answer?
    – Thomas Pete
    Aug 25 at 9:22












up vote
5
down vote



accepted







up vote
5
down vote



accepted






public static list < PDCNGrpJunc__c > fetchJunction(String groupId) 
System.debug('****groupId****'+groupId);
List < PDCNGrpJunc__c > objJuncList = new List < PDCNGrpJunc__c > ();
List < PDCNGrpJunc__c > objJunc = [SELECT Id,PDCN__r.Id,PDCN__r.Name,PDCN__r.Brand_Trademark_Name__c,PDCN__r.Package_Standard_Name__c
FROM PDCNGrpJunc__c WHERE PDCN_Group__c = :groupId
ORDER BY createdDate DESC ];

// play for loop on objJunc and add each Junction to objJuncList List.
for (PDCNGrpJunc__c c: objJunc)
objJuncList.add(c);

// return the List of Junctions
return objJuncList;



You have to use parameters as PDCN_Group__c = :groupId.



Accessing Variables in SOQL Queries




SOQL statements in Apex can reference Apex code variables and
expressions if they are preceded by a colon (:). The use of a local
variable within a SOQL statement is called a bind.




This example shows how to use the targetDepartment variable in the WHERE clause.



String targetDepartment = 'Wingo';
Contact techContacts = [SELECT FirstName,LastName
FROM Contact WHERE Department=:targetDepartment];





share|improve this answer














public static list < PDCNGrpJunc__c > fetchJunction(String groupId) 
System.debug('****groupId****'+groupId);
List < PDCNGrpJunc__c > objJuncList = new List < PDCNGrpJunc__c > ();
List < PDCNGrpJunc__c > objJunc = [SELECT Id,PDCN__r.Id,PDCN__r.Name,PDCN__r.Brand_Trademark_Name__c,PDCN__r.Package_Standard_Name__c
FROM PDCNGrpJunc__c WHERE PDCN_Group__c = :groupId
ORDER BY createdDate DESC ];

// play for loop on objJunc and add each Junction to objJuncList List.
for (PDCNGrpJunc__c c: objJunc)
objJuncList.add(c);

// return the List of Junctions
return objJuncList;



You have to use parameters as PDCN_Group__c = :groupId.



Accessing Variables in SOQL Queries




SOQL statements in Apex can reference Apex code variables and
expressions if they are preceded by a colon (:). The use of a local
variable within a SOQL statement is called a bind.




This example shows how to use the targetDepartment variable in the WHERE clause.



String targetDepartment = 'Wingo';
Contact techContacts = [SELECT FirstName,LastName
FROM Contact WHERE Department=:targetDepartment];






share|improve this answer














share|improve this answer



share|improve this answer








edited Aug 25 at 9:23

























answered Aug 25 at 9:17









sanket kumar

1,289117




1,289117











  • Thanks A Lot!! That Solved It. How to mark this as Best Answer?
    – Thomas Pete
    Aug 25 at 9:22
















  • Thanks A Lot!! That Solved It. How to mark this as Best Answer?
    – Thomas Pete
    Aug 25 at 9:22















Thanks A Lot!! That Solved It. How to mark this as Best Answer?
– Thomas Pete
Aug 25 at 9:22




Thanks A Lot!! That Solved It. How to mark this as Best Answer?
– Thomas Pete
Aug 25 at 9:22

















 

draft saved


draft discarded















































 


draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsalesforce.stackexchange.com%2fquestions%2f230115%2fhow-to-pass-a-parameter-into-soql-query%23new-answer', 'question_page');

);

Post as a guest













































































這個網誌中的熱門文章

How to combine Bézier curves to a surface?

Carbon dioxide

Why am i infinitely getting the same tweet with the Twitter Search API?