Created
December 9, 2010 06:57
-
-
Save johncasimiro/734428 to your computer and use it in GitHub Desktop.
A code snippet that mimics the popular Select * SQL syntax in force.com's Apex language.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
* @description: A code snippet that mimics the popular Select * SQL syntax in force.com's Apex language. | |
*/ | |
// Initialize setup variables | |
String objectName = 'Contact'; // modify as needed | |
String query = 'SELECT'; | |
Map<String, Schema.SObjectField> objectFields = Schema.getGlobalDescribe().get(objectName).getDescribe().fields.getMap(); | |
// Grab the fields from the describe method and append them to the queryString one by one. | |
for(String s : objectFields.keySet()) { | |
query += ' ' + s + ', '; | |
} | |
// Manually add related object's fields that are needed. | |
query += 'Account.Name,'; // modify as needed | |
// Strip off the last comma if it exists. | |
if (query.subString(query.Length()-1,query.Length()) == ','){ | |
query = query.subString(0,query.Length()-1); | |
} | |
// Add FROM statement | |
query += ' FROM ' + objectName; | |
// Add on a WHERE/ORDER/LIMIT statement as needed | |
query += ' WHERE firstName = \'test\''; // modify as needed | |
try { | |
List<Contact> contacts = database.query(query); | |
} catch (QueryException e){ | |
//perform exception handling | |
} | |
Clever!
Awesome! thanks. And yeah I made the same modification @benti
Where do you get that Schema object?
Thanks Much appreciated.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Thanks, that saved me a lot of work.
One little problem I had: In case you are not adding related object's fields, line 12 should be
query += ' ' + s + ',';
without the space after the comma to make sure the comma is really the last character when it gets stripped off.