Saturday, February 29, 2020
dynamic soql to fetch all fields of an object in salesforce using schema class
Dynamic SOQL query to fetch all fields in Salesforce
Dynamic SOQL query to fetch all fields in Salesforce
salesforce
Dynamic SOQL query Salesforce
SOQL is Salesforce Object Query Language for querying data in the Force.com platform. It is very much similar to SQL.
But in SOQL, we can not query all fields from object. This statement is not allowed in SOQL:
select * from Account;
But there is one trick to query all fields of Object in SOQL query.
In the example below, we will use SOQL query to fetch all fields of account. We have added one ‘Fetch Account’ button on page. When we will click on this button all fields of account objects are fetched using SOQL query. We have also shown SOQL query in Visualforce page result.
Click for Demo
Visualforce Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Apex Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 public class selectAllSOQLExampleController {
public List accList{get;set;}
public String query{get;set;}
public selectAllSOQLExampleController(){
}
public PageReference fetch(){
String SobjectApiName = 'Account';
Map schemaMap = Schema.getGlobalDescribe();
Map fieldMap = schemaMap.get(SobjectApiName).getDescribe().fields.getMap();
String commaSepratedFields = '';
for(String fieldName : fieldMap.keyset()){
if(commaSepratedFields == null || commaSepratedFields == ''){
commaSepratedFields = fieldName;
}else{
commaSepratedFields = commaSepratedFields + ', ' + fieldName;
}
}
query = 'select ' + commaSepratedFields + ' from ' + SobjectApiName + ' Limit 5';
accList = Database.query(query);
return null;
}
}
Subscribe to:
Posts (Atom)